ЕЛ
Екатерина Люст

С++ Файловый ввод-вывод с использованием потоков

Написал код для записи-чтения из файла. Появилась проблема с чтением данных (читает до случайного места и выходит) , подумав решил что в файле встречается конец файла или что-то вроде того. Для решения нужно в настройках считывания добавить бинарный стиль чтения (ios::binar). Добавил.. . к моему удивлению не помогло. Переписал код в обычный ввод-вывод (fopen вместо ifstream) проблема осталась но когда добавил "rb" (бинарный стиль) всё заработало.
Вопрос почему в случае с потоками не помогло

код потокового чтения
BOOL read(LPCSTR filename)
BLOCK load;
ifstream file;

file.open( filename,ios::in || ios::binary)

if(!file)
return false;

while (!file.eof())
{
file.read((char*)&load,sizeof(BLOCK));

Map.push_back(load);
}

Иг
Игорь

Файл еще выложи на какой-нибудь обменник, хотя бы яндекс. диск. А то заочно сложно проверять.

ОС
Ольгп Сланко

попробуй вставить в конце кода - команду - cin.get(); - экран после этого не должен закрываться в конце своей деятельности кода до нажатия клавиши enter.

РИ
Руслан Ибляминов

Вы с чего взяли, что он читает в проивзольном порядке? С того, что после засовывания в мап у вас меняется порядок? Дык мап и не обеспечивает порядок-то.

Похожие вопросы
Программа на ввод-вывод
ввод/вывод и обращение к элементу строки в ASM
ввод-вывод средств (денег)!!!!
Как в C# скрыть ввод и вывод данных в консоль?
что такое: оператор вывода и ввода?
ошибка ввода и вывода
а вы за вывод, или за ...ввод?
Помогите с вводом и выводом массива!
Не хочет заходит в skype "Ошибка ввода-вывода диска"
Опишите организацию ввода и вывода данных в массиве.