fstream — чтение ppm файла переполнение стека

Я пытаюсь прочитать файл ppm и сохранить его содержимое в массиве. Я начинаю с того, что пытаюсь его отобразить, но не могу ничего вывести.

char magic;
ifstream myfile;
myfile.open(file,ios::in | ios::binary);
if (!myfile.is_open())
{
cout<<"Failed to open";
}
myfile.get(magic);
if(myfile) cout <<magic <<"not working";
myfile.close();

Файл открыт, но я не могу его прочитать. Я также попытался вывод с помощью << операторы, но везения там тоже нет.

0

Решение

Вероятно, что ваш файл читается, но ваша переменная хранит не все значения в нем. Я предлагаю добавить это вместо myfile.get (magic):

char magic;
ifstream myfile;

if (!myfile.open(file, ios::in | ios::binary)
{
cout << "Failed to open" << endl;
}

vector<char> magicNumbers;
while (myfile >> magic)
{
magicNumbers.push_back(magic);
}
myfile.close();

Как видите, вы должны хранить все значения в каком-то массиве, здесь я использовал вектор для гибкости. Остальное зависит от тебя.

0

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


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