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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Eugene THE BEST
9 / 9 / 0
Регистрация: 14.02.2010
Сообщений: 126
#1

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

16.03.2012, 22:02. Просмотров 590. Ответов 5
Метки нет (Все метки)

Здравствуйте.
Можно ли с помощью потоков писать в начало файла?

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

Если да, напишите как, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2012, 22:02     Написать в начало файла
Посмотрите здесь:

Запись в начало файла. C++
Начало файла C++
C++ Дописать символ в начало файла
C++ В начало двоичного файла целого типа дописать нечетные элементы этого файла.
C++ Записать данные в начало файла
Вернуться в начало файла C++
C++ Перевод указателя в начало файла
C++ Узнать начало файла
C++ Запись в начало файла
C++ Запись данных в начало файла
C++ Перевод указателя в начало файла - C++
C++ Ofstream запись в начало файла

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LVV
56 / 56 / 3
Регистрация: 15.02.2010
Сообщений: 241
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
Сообщений: 241
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
Сообщений: 241
17.03.2012, 21:17     Написать в начало файла #6
Ну так файл "1.txt" уже существует. (Создайте его перед запуском программы и впишите в него любіе данные)
Мі просто перезаписіваем содержимое файла, прибавляя в начало строку S.

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

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