Как мне получить std :: getline после первой строки

сегодня у меня проблема с моим кодом C ++.
Проблемный бит должен считывать текстовый файл построчно и сохранять определенные строки в векторе.

ОК, во-первых, код (часть):

vector<string> write::get_lines() {
fstream in;
string path;
string line;
vector<string> lines;
if (elementType.substr(0,2).compare("od")==0) {
path = inFilePath + filename;
in.open(path.c_str(), ios::in);
std::getline(in,line);
getline(in,line);
while (std::getline(in, line)) {
if (line.substr(0, elementID.length()) == elementID) {
lines.push_back(line);
}
}
} else {
if (elementID.length() > 8){
string typeInFile = elementType.substr(2);
transform(typeInFile.begin(), typeInFile.end(), typeInFile.begin(), ::toupper);
string elementID1 = elementID.substr(0,8);
string elementID2 = elementID.substr(8);
path = inFilePath + filename;
in.open(path.c_str(), ios::in);
while (getline(in, line)) {
if (contains(line, typeInFile) && contains(line, elementID1) && contains(line, elementID2)) {
lines.push_back(line);
}
}
} else{
string typeInFile = elementType.substr(2);
transform(typeInFile.begin(), typeInFile.end(), typeInFile.begin(), ::toupper);
path = inFilePath + filename;
in.open(path.c_str(), ios::in);
while (getline(in, line)) {
if (contains(line, typeInFile) && contains(line, elementID)) {
lines.push_back(line);
}
}
}
}
return lines;
}

Проблема в цикле while или, вернее, в getline (in, line).
Путь к файлу правильный и файл открыт.
К сожалению, первая строка файла — это какой-то признак, который я не могу идентифицировать. Это выглядит примерно так:
Но короткий ход горизонтальный, а длинный — вертикальный и направо вниз по правой стороне короткого.

Я предполагаю, что это проблема. Но я не могу найти решение.

Теперь мой вопрос: как мне получить std :: getline () после этого зловещего знака.

редактировать: я разместил весь метод. Может быть, это помогает.

0

Решение

Ок я кровавый идиот ……

У меня было неправильное имя файла. Это было написано правильно, но я упустил момент, что имя файла имеет только заглавные буквы.

Тем не менее, эта статья довольно хорошая и помогла мне разобраться …

как для std :: ifstream и std :: getline

Итак, если у кого-то возникнет такая же проблема, как у меня: ПРОВЕРЬТЕ СВОЙ ЗАПИСЬ !!!

0

Другие решения


По вопросам рекламы [email protected]