【发布时间】:2015-04-18 18:40:59
【问题描述】:
我正在读取这样一个文件的内容:
#include <iostream>
#include <fstream>
using namespace std;
char line[256];
ifstream infile(filename, ios::in);
if(infile){
while (infile.getline(line, 256)) {
std::cout << line << std::endl;
}
}
在while循环中我想做一些事情,但只在所有n-1次迭代中,而不是在最后一次迭代(文件的行)中......所以我想到了infile.hasNextLine()之类的东西,但不幸的是我找不到这样做的东西。
如何在 C++ 中实现这种行为?
计算文件中的行数是唯一的方法吗?
【问题讨论】:
-
不相关,但你很少想使用
getline的重载,它接受一个指向 char 的指针——你通常需要std::string line; while (std::getline(infile, line)) ...