Я пишу программу для чтения данных из текстового файла в следующем формате. Как пропустить прочтение строк, начинающихся со звездочки?Как читать определенные строки из файла?
* 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});
}
}
* он может читать и вставить 2 номера в моем наборе в то время * Похоже, что вы читаете и вставка 3 ... – scohe001
Короткий ответ является то, что вы не можете не читать их. О том, что вы можете сделать, это прочитать их, проверить, начинаются ли они со звездочки, и если так, просто переходите к следующей строке, не сохраняя их. Если вы собираетесь перечитывать один и тот же файл более одного раза, вы можете создать индекс, показывающий, где начинается каждая строка, и искать начало следующей строки, когда вы найдете звездочку (но вы, вероятно, вряд ли выиграете, сделав так). –
Попробуйте 'if (! Lin.empty() && lin [0]! = '*')'. FYI 'lin [0]' является первым символом 'lin'. – Galik