У меня, кажется, проблема с чтением файлов. Я использую Visual Studio Community 2013, и он будет делать все, кроме чтения файлов. Я проверил, чтобы файл, который был прочитан и написан, находится в том же каталоге. Следующий код, где я считаю, что проблема быть:C++ ничего не читает из файлов
if (inStream.bad())
{
inStream.close();
outStream.open(filename);
outStream << "This is a test file: \nWelcome to the Dark Side!";
outStream.close();
}
inStream.open(filename, ios::in);
if (inStream.good())
{
while (getline(inStream, stream[1]))
{
stream[0] += stream[1] + '\n';
}
inStream.close();
}
else
{
cout << "THIS FILE IS ROYALLY *jacked* UP!!!!" << endl;
}
и я получаю «Этот файл царски козел» результат. Я не понимаю, почему он не читает. Пожалуйста помоги.
Проблема возникает, вероятно, потому, что вы используете 'inStream.open (...)' 'независимо от того, является ли inStream' находится в хорошем состоянии или плохом состоянии. –
Почему это имеет значение? Я думал, что .good() должен был убедиться, что он открыт правильно? –
Нет, это состояние по умолчанию, когда ошибок не произошло. Когда файл открывается, 'stream' автоматически не очищается до' good'. – user35443