在下面的代码我不能使用std::string
类。如何跳过空行不串班
我试图读取一个空行的文件,我想,当我遇到他们忽略空行。
我已经测试了用一个简单的例子,并包含空行一个虚构的文本文件中的一些想法。
int main() {
ifstream fin;
fin.open("test.txt");
if(fin.fail()){
cout << "Input file fail.";
exit(-1);
}
char line[10];
while(!fin.eof()){
fin.getline(line, 10);
if(line[0] == '\n')
cout << "skip" << "\n";
else
cout << line << "\n";
}
}
我也尝试之类的东西strlen(line) == 1
,但没有到目前为止的工作。
什么问题?
请参阅[为什么iostream :: eof在循环条件内被认为是错误的?](http://stackoverflow.com/q/5605125/2069064) – Barry
'std :: getline()'丢弃了分隔符,这解释了为什么你的解决方案都无法运作。 –
*我们不允许使用String类* - 所以还不如叫你的课程* C编程*而不是* C++编程*。 – PaulMcKenzie