我正在编写一个程序,以从以下格式的文本文件中读取数据。如何跳过阅读所有以星号开头的行?
* Data set 34.6
* Author: M. S.
1 3
6 7
4 5
... so on
我的代码的相关部分当前如下所示。它可以一次读取并向我的集合中插入2个数字,但是如果上面有以星号开头的注释行,则会出现错误。因此,我不确定在读取文件时如何忽略这些行。
string lin;
while (getline(if1, lin)) {
istringstream is1(lin);
int a, b;
if (is >> a >> b) {
set3.insert({a, b});
}
}
最佳答案
您可以在进行更多阅读之前检查星号,如果找到它,请阅读continue
(跳至while
的下一个迭代):
string lin;
while (getline(if1, lin)) {
if(lin[0] == '*') continue; //Skip this line if it's bad
istringstream is1(lin);
int a, b;
if (is >> a >> b) {
set3.insert({a, b});
}
}