C++读取文件核心是ifstream,需包含头文件并检查.open()成功与否;常用getline按行读取,>>适合格式规整数据;对象析构自动关闭文件,必要时可手动close。
用C++读取文件,核心是掌握ifstream(输入文件流)的用法。它属于头文件,本质是把磁盘上的文件“连”到程序里,像读普通输入一样逐行或逐字符处理。
不能假设文件一定存在或路径一定正确。创建ifstream对象后,要用.is_open()或直接判断流状态:
ifstream fin("data.txt"); if (!fin) { cout 用getline(fin, line)一次读一整行,自动丢掉换行符,不会因空格或制表符中断:
string line; while (getline(fin, line)) { cout getline返回的是流对象本身,非bool,但能隐式转为bool判断是否读到末尾或出错getline仍能正常读取该行适合格式规整的文本,比如每行一个整数,或空格分隔的多个数值:
int x; while (fin >> x) { cout
ifstream对象离开作用域会自动关闭,一般不用手动调.close();但若需在中途清空缓冲、重用流对象,或想明确控制关闭时机,可调用:
fin.close(); —— 关闭后再次>>或getline会失败.open("another.txt")打开别的文件基本上就这些。不复杂,但容易忽略路径和错误检查,实际写代码时多加两行判断,能省下大半调试时间。