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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 47, средняя оценка - 4.87
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

Дозапись потоком - C++

24.03.2010, 08:50. Просмотров 6297. Ответов 6
Метки нет (Все метки)

Есть файл, в нём уже чтото записано, но открытого потока к нему нет. Можно ли открыть поток на дозапись в этот файл? Как?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2010, 08:50     Дозапись потоком
Посмотрите здесь:

Дозапись в файл - C++
Прога на c++. Добавление студентов в базу данных (текстовый файл). Когда записываю, завершаю программу, там есть запись, после следующего...

Дозапись текстофайла - C++ WinAPI
Дано: a b c(eof) Требуется: a

Дозапись в файл - C++
всем доброго времени суток! не получается дозаписать в конец файла. открываю и считываю таким вот способом: fstream f1; cout <<...

работа с потоком - C++
есть текстовый файл с примерно таким сожержанием: 1 5 test 2 9 111 22 12 99 proverka 10 1 1 23 10 schet 50 12 44 34 74 29 и...

Проблема с потоком - C++ WinAPI
я создаю поток CreateThread(nil,0, @myproc,nil,0, thid); function myproc(p:pointer):dword; begin while true do ...... ...

Дозапись в бинарный файл - C++
Всем привет! Необходимо в процессе работы программы производить дозапись в бинарный файл. Как я понимаю необходимо спозиционировать put -...

Дозапись в текстовый файл - C++ Builder
Подскажите, в свзи с чем при выполнении данного кода в текстовый файл летит ещё что-то типа @, вместo K X///иногда записываются без учёта...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Зоти Сергей
228 / 226 / 13
Регистрация: 18.12.2009
Сообщений: 316
24.03.2010, 15:28     Дозапись потоком #2
Конечно можно. Например
C++
1
2
3
FILE * Stream = fopen("C:\\Test.txt", "a+");
fprintf(Stream, "%d\n", 10);
fclose(Stream);
a+ добавляет данные в файл, если он существует. И создает его на диске и записывает в него, если файла нет.
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
24.03.2010, 19:46     Дозапись потоком #3
или на C++
C++
1
2
3
4
5
6
7
8
9
10
#include <fstream.h>
int main(){
ofstream save("C:\\Test.txt",ios::app);
if(!save)return -1;
save.is_open();
save<<"Добавили в конец файла";
save<<'\n'; //для логики размещения в файле
save.close();
return 0;
}
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
25.03.2010, 10:18  [ТС]     Дозапись потоком #4
Цитата Сообщение от Genius Ignat Посмотреть сообщение
или на C++
C++
1
2
3
4
5
6
7
8
9
10
#include <fstream.h>
int main(){
ofstream save("C:\\Test.txt",ios::app);
if(!save)return -1;
save.is_open();
save<<"Добавили в конец файла";
save<<'\n'; //для логики размещения в файле
save.close();
return 0;
}
Что менно здесь отвечает за открытие именно на дозапись, а не на перезапись?

Добавлено через 51 секунду
Цитата Сообщение от Зоти Сергей Посмотреть сообщение
Конечно можно. Например
C++
1
2
3
FILE * Stream = fopen("C:\\Test.txt", "a+");
fprintf(Stream, "%d\n", 10);
fclose(Stream);
a+ добавляет данные в файл, если он существует. И создает его на диске и записывает в него, если файла нет.
Но вообще то я хотел потоком (стримом).
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
25.03.2010, 19:03     Дозапись потоком #5
ios::app: Флаг того, что будет до запись в конец.
Зоти Сергей
228 / 226 / 13
Регистрация: 18.12.2009
Сообщений: 316
25.03.2010, 22:57     Дозапись потоком #6
Цитата Сообщение от taras atavin Посмотреть сообщение
Но вообще то я хотел потоком
Ну так.. а это разве не поток?
fopen - открывает файл и возвращает информацию потока ввода-вывода;
fprintf - вывод форматированной строки в поток
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2010, 05:44     Дозапись потоком
Еще ссылки по теме:

Дозапись exe-файла - C++ WinAPI
Здравствуйте, господа! Предположим: Программа имеет графический интерфейс. Графический интерфейс имеет дефолтные настройки (размер...

Дозапись в текстовый файл - C++
как сделать так,чтобы при записи в файл,слова в файле (написанные до выполнения программы) оставались? #include &lt;string&gt; #include...

Отрисовка потоком в Canvas - C++ Builder
Доброго времени суток. В общем ситуация такова: есть таймер, работающий с точностью в 10мс в отдельном потоке. В зависимости от времени, на...

Потоком из файла в структуру - C++
В общем у меня есть задание: Прочитать из текстового файла строку и записать её в структуру. В строке 6 полей структуры. Я образно знаю...

Работа с потоком в C++Builder - C++ Builder
Разработал приложение, которое делает очень много вычислений, процесс отобразил с помощью ProgressBar. В ходе выполнения программа...


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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.03.2010, 05:44  [ТС]     Дозапись потоком #7
C++
1
s<<d;
если d - данные, s связано или с файлом, или с консолью и этот оператор туда выводит, то s - поток вывода. Всё остальное - нет. Даже thread хоть и тоже поток, но не тот. Задача потоком вывода решается та же, что и при любом другом файловом и консольном выводе, но поток допускает "цепную форму"
C++
1
s<<d1<<d2<<d3<<d4;
. И за типами данных следит сам поток, а не я. А ты что предлаешь?
C++
1
2
3
4
fprintf(Stream, "%d", d1);
fprintf(Stream, "%f", d2);
fprintf(Stream, "%d", d3);
fprintf(Stream, "%d\n", d4);
? Или
C++
1
fprintf(Stream, "%d%f%d%f\n", d1, d2, d3, d4);
? Это не потоковые операции.

Добавлено через 1 час 11 минут
Цитата Сообщение от Genius Ignat Посмотреть сообщение
ios::app: Флаг того, что будет до запись в конец.
А так:
C++
1
2
3
4
ofstream s;
s.open("file.txt",ios::app);
s<<d;
s.close();
можно?
Yandex
Объявления
26.03.2010, 05:44     Дозапись потоком
Ответ Создать тему
Опции темы

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