C++读取文件核心是ifstream,需包含头文件并检查.open()成功与否;常用getline按行读取,>>适合格式规整数据;对象析构自动关闭文件,必要时可手动close。

用C++读取文件,核心是掌握ifstream(输入文件流)的用法。它属于头文件,本质是把磁盘上的文件“连”到程序里,像读普通输入一样逐行或逐字符处理。
打开文件前先检查是否成功
不能假设文件一定存在或路径一定正确。创建ifstream对象后,要用.is_open()或直接判断流状态:
ifstream fin("data.txt"); if (!fin) { cout 常见失败原因:路径写错(比如少写了子目录)、文件被占用、权限不足、中文路径未用UTF-8或宽字符处理
按行读取最常用也最稳妥
用getline(fin, line)一次读一整行,自动丢掉换行符,不会因空格或制表符中断:
string line; while (getline(fin, line)) { cout 注意:getline返回的是流对象本身,非bool,但能隐式转为bool判断是否读到末尾或出错 如果文件最后一行没换行符,getline仍能正常读取该行
读数字或单词可用重载的>>操作符
适合格式规整的文本,比如每行一个整数,或空格分隔的多个数值:
立即学习“C++免费学习笔记(深入)”;
int x; while (fin >> x) { cout 缺点:遇到非数字字符(如字母、逗号)会停止,并把错误字符留在缓冲区,后续读取可能出乱;空白符(空格、换行等)全被跳过,无法区分换行和空格 建议仅用于简单测试或已知格式干净的数据
别忘了关闭文件(或依赖自动析构)
ifstream对象离开作用域会自动关闭,一般不用手动调.close();但若需在中途清空缓冲、重用流对象,或想明确控制关闭时机,可调用:
fin.close(); —— 关闭后再次>>或getline会失败 关闭后可重新用.open("another.txt")打开别的文件
基本上就这些。不复杂,但容易忽略路径和错误检查,实际写代码时多加两行判断,能省下大半调试时间。
以上就是C++文件读取基础教程_C++文件输入输出初接触的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1489216.html
微信扫一扫
支付宝扫一扫