全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

c++如何读取和写入txt文件 使用fstream库实现文件操作【代码示例】

用fstream读写TXT文件需选对流类型并检查打开状态:ifstream逐行读取用getline(),ofstream写入可覆盖或追加,fstream同时读写需指定模式组合并注意seekg/seekp定位。

fstream 读写 TXT 文件,核心是选对流类型(ifstreamofstreamfstream),正确打开文件,并检查是否成功。

读取文本文件(逐行 or 逐词)

推荐用 std::ifstream,配合 std::getline() 逐行读取最稳妥,避免空格截断;若用 >> 运算符则按空白符分隔(空格、制表、换行都会切开)。

示例:读取并打印每行内容

#include 
#include 
#include 

int main() {
    std::ifstream fin("data.txt");
    if (!fin.is_open()) {
        std::cerr << "无法打开 data.txt\n";
        return 1;
    }

    std::string line;
    while (std::getline(fin, line)) {
        std::cout << line << '\n';
    }
    fin.close();
    return 0;
}

写入文本文件(覆盖 or 追加)

std::ofstream。默认是覆盖写入(std::ios::out);要追加,显式加上 std::ios::app 模式。

  • 覆盖写入:直接构造 ofstream("file.txt")
  • 追加写入:ofstream("file.txt", std::ios::app)
  • 写入失败时,可用 !foutfout.fail() 判断

示例:向文件追加两行

#include 
#include 

int main() {
    std::ofstream fout("log.txt", std::ios::app);
    if (!fout) {
        std::cerr << "无法打开 log.txt\n";
        return 1;
    }

    fout << "操作完成\n";
    fout << "时间:2024-06-15\n";
    fout.close();
    return 0;
}

同时读写一个文件(需谨慎)

std::fstream,但必须指定模式组合,例如:

  • std::fstream file("data.txt", std::ios::in | std::ios::out); —— 可读可写,文件必须存在
  • std::fstream file("data.txt", std::ios::in | std::ios::out | std::ios::trunc); —— 读写+清空原内容
  • std::fstream file("data.txt", std::ios::in | std::ios::out | std::ios::ate); —— 打开后定位到末尾

注意:读写切换时需调用 seekg()(读位置)或 seekp()(写位置),否则行为未定义。

常见问题与建议

  • 路径写错或文件权限不足会导致打开失败——务必检查 is_open() 或隐式转换为 bool
  • 中文路径在 Windows 下可能乱码,建议用 UTF-8 编码保存源文件,并考虑使用 _setmode(_fileno(stdin), _O_U16TEXT)(Windows 特有)或改用绝对路径测试
  • 不手动调用 .close() 也行,对象析构时会自动关闭,但显式关闭更清晰可控
  • 读取数字时,fin >> x 遇到非数字字符会停止,且留下剩余字符在缓冲区,后续 getline() 可能读到空行——可用 fin.ignore() 清理


# windows  # 编码  # app  # ai  # c++  # ios  # win  # stream  # 常见问题  # 隐式转换  # 运算符  # bool  # ofstream  # ifstream  # fstream  # 对象  # 文本文件  # 无法打开  # 转换为  # 也行  # 读到  # 两行  # 清空  # 自动关闭  # 时需  # 更清晰 


相关文章: 如何快速搭建二级域名独立网站?  C++时间戳转换成日期时间的步骤和示例代码  网站制作软件有哪些,制图软件有哪些?  定制建站方案优化指南:企业官网开发与建站费用解析  建站168自助建站系统:快速模板定制与SEO优化指南  如何通过可视化优化提升建站效果?  网页设计网站制作软件,microsoft office哪个可以创建网页?  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  香港服务器租用每月最低只需15元?  如何在阿里云部署织梦网站?  用v-html解决Vue.js渲染中html标签不被解析的问题  建站主机系统SEO优化与智能配置核心关键词操作指南  建站之星免费版是否永久可用?  如何获取免费开源的自助建站系统源码?  已有域名和空间,如何快速搭建网站?  广州美橙建站如何快速搭建多端合一网站?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  如何在Windows 2008云服务器安全搭建网站?  红河网站制作公司,红河事业单位身份证如何上传?  如何选择建站程序?包含哪些必备功能与类型?  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何用AWS免费套餐快速搭建高效网站?  做企业网站制作流程,企业网站制作基本流程有哪些?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  如何在万网开始建站?分步指南解析  高防服务器租用指南:配置选择与快速部署攻略  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何做网站制作流程,*游戏网站怎么搭建?  建站三合一如何选?哪家性价比更高?  如何用PHP快速搭建CMS系统?  建站主机SSH密钥生成步骤及常见问题解答?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  建站之星如何快速解决建站难题?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  如何确保西部建站助手FTP传输的安全性?  浅析上传头像示例及其注意事项  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  如何在IIS7上新建站点并设置安全权限?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  如何选购建站域名与空间?自助平台全解析  网站图片在线制作软件,怎么在图片上做链接?  潮流网站制作头像软件下载,适合母子的网名有哪些?  如何在阿里云域名上完成建站全流程?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  建站之星3.0如何解决常见操作问题? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。