Форум программистов, компьютерный форум CyberForum.ru

Написать в начало файла - C++

Восстановить пароль Регистрация
 
Eugene THE BEST
9 / 9 / 0
Регистрация: 14.02.2010
Сообщений: 126
16.03.2012, 22:02     Написать в начало файла #1
Здравствуйте.
Можно ли с помощью потоков писать в начало файла?

Без использования fseek?

Если да, напишите как, пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LVV
56 / 56 / 3
Регистрация: 15.02.2010
Сообщений: 239
16.03.2012, 22:23     Написать в начало файла #2
А если, считать всё, что есть в файле, добавить ваше "начало" и дописать то, что было... не прокатит?
Eugene THE BEST
9 / 9 / 0
Регистрация: 14.02.2010
Сообщений: 126
16.03.2012, 22:28  [ТС]     Написать в начало файла #3
LVV, К сожалению, я вообще не смыслю в потоковом чтении/выводе, но другого выхода нет, а прочитать и изучить времени маловато. РАньше делал эту операцию через fseek и последующий fprintf, все работало, ничего не затиралось. Если можете, напишите пожалуйста подробнее Ваш способ.
LVV
56 / 56 / 3
Регистрация: 15.02.2010
Сообщений: 239
16.03.2012, 23:09     Написать в начало файла #4
Цитата Сообщение от Eugene THE BEST Посмотреть сообщение
Если можете, напишите пожалуйста подробнее Ваш способ.
Ну, если использовать строковый тип, то примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <string>
#include <fstream>
using namespace std;
void main()
{
    
string s, S="nachalo \n";
 
ifstream f("1.txt");
while (!f.eof()) 
            s+=f.get();//посимвольное чтение
f.close();
 
S=S+s;//добавляем к начальной строке
 
ofstream F("1.txt");
F<<S;
F.close();
}
Eugene THE BEST
9 / 9 / 0
Регистрация: 14.02.2010
Сообщений: 126
16.03.2012, 23:14  [ТС]     Написать в начало файла #5
LVV, Я так понял, у Вас nachalo \n известно вначале. А мне нужно после записи в файл рассчитать переменную и написать ее в начало того же файла. Так же не получится?
LVV
56 / 56 / 3
Регистрация: 15.02.2010
Сообщений: 239
17.03.2012, 21:17     Написать в начало файла #6
Ну так файл "1.txt" уже существует. (Создайте его перед запуском программы и впишите в него любіе данные)
Мі просто перезаписіваем содержимое файла, прибавляя в начало строку S.

После запуска программы, перед существующими записями файла появится слово nachalo, а '\n'-переход на новую строку.
Yandex
Объявления
17.03.2012, 21:17     Написать в начало файла
Ответ Создать тему
Опции темы

Текущее время: 08:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru