【发布时间】:2012-10-09 14:37:15
【问题描述】:
我有以下类型的输入文本文件
28306.5934893134
Const for C
0.086628745225
Const for D
1226.12828874073
Const for F
6.60731462829
Const for G
-14694.9395750279
Const for J
273245702.243239
Const for K
5563100.12791444
我想逐行阅读。我目前正在使用如下所示的 ifstream 和 getline:
correl>>const_h;
cout<<const_h;
std::getline(correl,line_avoid);
correl>>C1;
cout<<C1<<endl;
std::getline(correl,line_avoid);
correl>>C2;
cout<<C2<<endl;
std::getline(correl,line_avoid);
correl>>C3;
cout<<C3<<endl;
std::getline(correl,line_avoid);
correl>>C4;
cout<<C4<<endl;
std::getline(correl,line_avoid);
correl>>C5;
cout<<C5<<endl;
std::getline(correl,line_avoid);
correl>>C6;
cout<<C6<<endl;
第一个值被读取,而不是其他值。如何只读取值并跳过输入文件中的 cmets?
【问题讨论】:
-
考虑缩短您的示例,因为在阅读前几行后似乎会出现错误。
-
两件小事:(1) 最好说 "discarding" 而不是 "skipping" 你有 以一种或另一种方式阅读它们(只需找到下一行的开头......); (2) 一旦你意识到你可能会问自己“我如何区分 cmets 和好东西,一旦我阅读了任何特定的行,我可以让这个过程自动化吗?”。。。跨度>