Ввод-вывод на C++

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
kot
Сообщения: 7
Зарегистрирован: 29 дек 2007, 12:03

Как проще всего и эффективнее реализовать ввод-вывод на C++ в/из файла (как на олимпиаде) :confused:
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Проще всего через STL потоки (см. классы ofstream, ifstream). Эффективнее всего через стандартные функциии для работы с файлами (см. функции fopen, fclose, fprintf, fscanf, fputs, fgets, fputc, fgetc).
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
Monopo
Сообщения: 125
Зарегистрирован: 06 дек 2007, 20:08
Откуда: Linux

Не могли бы Вы мне подсказать?? Как из потока удалить какой-либо объект??
Вот у мня данные пишутся в файл в формате:
число
строка
число
строка
...
Я нашел смещение объекта, а как его затереть не знаю..
Юный Падаван
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Вычитать файл в память, переоткрыть файл на запись (что очистит его) и запись в него только те данные, которые необходимы.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить