Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/41: Рейтинг темы: голосов - 41, средняя оценка - 4.73
taras atavin
4204 / 1765 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
#1

Дозапись потоком

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

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

Требуется программист для написания программы которая может управлять аудио потоком
задачи этой программы при появлении сигнала на линейном входе или mic...

Дозапись в текстовый файл
Подскажите, в свзи с чем при выполнении данного кода в текстовый файл летит ещё...

Дозапись в файл С++ builder из TStringList
Здравствуйте! У меня есть TStringList, в него записывается строка, потом он...

Копирование файлов потоком.
Здравствуйте! Моя программа должна копировать файлы и каталоги указанные...

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

6
Зоти Сергей
229 / 227 / 65
Регистрация: 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+ добавляет данные в файл, если он существует. И создает его на диске и записывает в него, если файла нет.
1
Genius Ignat
1241 / 779 / 108
Регистрация: 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;
}
1
taras atavin
4204 / 1765 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
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+ добавляет данные в файл, если он существует. И создает его на диске и записывает в него, если файла нет.
Но вообще то я хотел потоком (стримом).
0
Genius Ignat
1241 / 779 / 108
Регистрация: 16.09.2009
Сообщений: 2,014
25.03.2010, 19:03 #5
ios::app: Флаг того, что будет до запись в конец.
1
Зоти Сергей
229 / 227 / 65
Регистрация: 18.12.2009
Сообщений: 316
25.03.2010, 22:57 #6
Цитата Сообщение от taras atavin Посмотреть сообщение
Но вообще то я хотел потоком
Ну так.. а это разве не поток?
fopen - открывает файл и возвращает информацию потока ввода-вывода;
fprintf - вывод форматированной строки в поток
0
taras atavin
4204 / 1765 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
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();
можно?
0
26.03.2010, 05:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2010, 05:44

Отрисовка потоком в Canvas
Доброго времени суток. В общем ситуация такова: есть таймер, работающий с...

Работа с большим потоком бит
Исследую файл в битовом виде. Ищу совпадение комбинаций внутри потока. Размер...

Access Violation. Дозапись данных в файл txt.
Еще один неприятный момент в котором не могу разобраться... Первым делом...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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