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

ofstream.flush() не обновляет файл! (не сохраняет на диск) - C++

Восстановить пароль Регистрация
 
karaulov6
15 / 15 / 1
Регистрация: 23.03.2013
Сообщений: 140
16.11.2013, 19:48     ofstream.flush() не обновляет файл! (не сохраняет на диск) #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ofstream logfile;
...
{
..
logfile.open("log.txt", ios::out | ios::app);
..
}
..
{
..
logfile << "HELLO" << endl;
logfile.flush();
..
}
logfile.flush(); - должен обновить файл на диске, но этого не делает. Как исправить?

И как сделать что бы файл был доступен для чтения и записи вне программы? (т.е в файл пишутся данные а я мог изменять их во время работы не закрывая файл в программе)



(Microsoft Visual Studio)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
katsidelin
 Аватар для katsidelin
60 / 21 / 2
Регистрация: 15.11.2013
Сообщений: 112
Записей в блоге: 3
16.11.2013, 19:55     ofstream.flush() не обновляет файл! (не сохраняет на диск) #2
У меня (gcc (GCC) 4.8.2 20131017 (Red Hat 4.8.2-1) )
всё работает.

Со вторым вопросом сомневаюсь, что возможно.
Как можно одновременно сделать так, что два юзера что-то пишут в файл инфу и одновременно
пытаются его сохранить? Система не сможет, будет конфликт.
karaulov6
15 / 15 / 1
Регистрация: 23.03.2013
Сообщений: 140
16.11.2013, 19:56  [ТС]     ofstream.flush() не обновляет файл! (не сохраняет на диск) #3
Но у меня тоже работает, ошибки нет, но на диске размер файла не обновляется.


Как сделать файл ofstream доступным из других программ не закрывая его?
katsidelin
 Аватар для katsidelin
60 / 21 / 2
Регистрация: 15.11.2013
Сообщений: 112
Записей в блоге: 3
16.11.2013, 20:02     ofstream.flush() не обновляет файл! (не сохраняет на диск) #4

Как сделать файл ofstream доступным из других программ не закрывая его?


Лично я не знаю такого способа.
Возможно функции прерывания, но тут я не силён.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
16.11.2013, 20:07     ofstream.flush() не обновляет файл! (не сохраняет на диск) #5
Цитата Сообщение от karaulov6 Посмотреть сообщение
Как сделать файл ofstream доступным из других программ не закрывая его?
ofstream - никак, это поток библиотекчный, а не файл на диске. Открывай его в шареном режиме. Будет доступен другим.
karaulov6
15 / 15 / 1
Регистрация: 23.03.2013
Сообщений: 140
16.11.2013, 20:37  [ТС]     ofstream.flush() не обновляет файл! (не сохраняет на диск) #6
Но если открыть файл в любом редакторе размер обновляется. Как это сделать в самой программе?(обновление размера на диске без закрытия ofstream)
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,178
Завершенные тесты: 1
16.11.2013, 21:02     ofstream.flush() не обновляет файл! (не сохраняет на диск) #7
Предлагаю кардинальное решение - задействовать SQL базу данных.
Совместный доступ будет решен на 100%.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2013, 08:06     ofstream.flush() не обновляет файл! (не сохраняет на диск)
Еще ссылки по теме:

C++ Чтение бинарного файла в поток std::ifstream и вывод в другой бинарный файл std::ofstream (создание копии)
Не могу создать файл в поток ofstream C++
Std::ofstream запись и чтение переменных в бинарный файл C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.11.2013, 08:06     ofstream.flush() не обновляет файл! (не сохраняет на диск) #8
Цитата Сообщение от karaulov6 Посмотреть сообщение
Но если открыть файл в любом редакторе размер обновляется. Как это сделать в самой программе?(обновление размера на диске без закрытия ofstream)
Как отслеживаете изменение размера файла на диске?
Yandex
Объявления
17.11.2013, 08:06     ofstream.flush() не обновляет файл! (не сохраняет на диск)
Ответ Создать тему
Опции темы

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