Я прочитал некоторые данные для своего приложения из файла, и оно недавно перестало работать. Мне кажется, что время, когда он перестал работать, соответствует тому моменту, когда я переключился с Notepad ++ на Sublime Text 2 ... В любом случае, вот мой код для чтения данных:
std::ifstream stream;
stream.open("parsing_model.txt");
char ignore_char;
std::string model_class;
int parsing_model;
while (stream >> model_class >> ignore_char >> parsing_model)
{
// snip
// doesn't even make it into a single run of this while loop.
}
Мои данные организованы как
Item1, 12
Item2, 4
foo, 42
bar, 1
Это что-то в кодировке текста? Как я могу сделать свой код устойчивым к этому и решить мою проблему? Этот код до недавнего времени работал месяцами. Спасибо
1 ответ
Перед использованием убедитесь, что поток находится в хорошем состоянии.
stream.open("parsing_model.txt");
if (stream.good()) {
//... read the stream
} else {
std::cerr << "failed to open input file\n";
}
В случае сбоя убедитесь, что текущий рабочий каталог совпадает с местом, где вы сохранили входной файл. Кажется, вы работаете в Windows, поэтому вы можете использовать эту команду для просмотра текущего каталога.
system("dir & pause");
Похожие вопросы
Новые вопросы
c++
C++ — это язык программирования общего назначения. Изначально он разрабатывался как расширение C и имел аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде, который будет скомпилирован с помощью компилятора C++. Используйте тег версии для вопросов, связанных с конкретной стандартной версией [C++11], [C++14], [C++17], [C++20] или [C++23]. и т.д.