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

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

Войти
Регистрация
Восстановить пароль
 
karaulov6
-42 / 23 / 2
Регистрация: 23.03.2013
Сообщений: 238
Завершенные тесты: 1
#1

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

16.11.2013, 19:48. Просмотров 616. Ответов 7
Метки нет (Все метки)

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)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2013, 19:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ofstream.flush() не обновляет файл! (не сохраняет на диск) (C++):

Не могу открыть файл OFSTREAM - C++
Доброго времен суток! Помогите разобраться: пытаюсь открыть файл с параметром ios::out, а он не открывается :( Почему это может...

создать файл использую string в ofstream - C++
хочу сделать ввод имени создаваемого файла с клавы, нельзя так? только char? string namefile; cin&gt;&gt;namefile; ...

Чтением и запись в файл, ifstream/ofstream - C++
Здравствуйте, уважаемые участники форума, есть такое задание, возвести в квадрат каждый элемент массива, стоящий на четном месте и в куб...

Не могу создать файл в поток ofstream - C++
Всех с наступившем НГ!) Не могу открыть/создать файл в поток. fstream somf; somf.open(&quot;c:\\users\\admin\\documents\\visual...

Как создать текстовый файл не через ofstream? - C++
До недавних пор я пользовался Си-шной библиотекой ввода-вывода, но сейчас решил перейти на библиотеки C++, ибо они намного удобней. ...

что делать если ofstream не закрывает файл - C++
Код: if (NeedUnitLog) { NeedUnitLog = false; ofstream unilog; unilog.open(&quot;UnitLog.txt&quot;, ios::out); ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
katsidelin
60 / 21 / 2
Регистрация: 15.11.2013
Сообщений: 112
Записей в блоге: 3
16.11.2013, 19:55 #2
У меня (gcc (GCC) 4.8.2 20131017 (Red Hat 4.8.2-1) )
всё работает.

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


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

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


Лично я не знаю такого способа.
Возможно функции прерывания, но тут я не силён.
Vourhey
Почетный модератор
6478 / 2253 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
16.11.2013, 20:07 #5
Цитата Сообщение от karaulov6 Посмотреть сообщение
Как сделать файл ofstream доступным из других программ не закрывая его?
ofstream - никак, это поток библиотекчный, а не файл на диске. Открывай его в шареном режиме. Будет доступен другим.
karaulov6
-42 / 23 / 2
Регистрация: 23.03.2013
Сообщений: 238
Завершенные тесты: 1
16.11.2013, 20:37  [ТС] #6
Но если открыть файл в любом редакторе размер обновляется. Как это сделать в самой программе?(обновление размера на диске без закрытия ofstream)
zss
Модератор
Эксперт С++
6358 / 5922 / 1919
Регистрация: 18.12.2011
Сообщений: 15,218
Завершенные тесты: 1
16.11.2013, 21:02 #7
Предлагаю кардинальное решение - задействовать SQL базу данных.
Совместный доступ будет решен на 100%.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.11.2013, 08:06 #8
Цитата Сообщение от karaulov6 Посмотреть сообщение
Но если открыть файл в любом редакторе размер обновляется. Как это сделать в самой программе?(обновление размера на диске без закрытия ofstream)
Как отслеживаете изменение размера файла на диске?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2013, 08:06
Привет! Вот еще темы с ответами:

Std::ofstream запись и чтение переменных в бинарный файл - C++
int a = 1; std::ofstream file(&quot;test.settings&quot;, std::ios::in | std::ios::out | std::ios::binary); ...

Не правильно сохраняет текст в файл - C++
int otchet(l_lib *l, int lines_count) { int X = 0; int Q = 0; int P = 0; char *fname = (char *)malloc(64); /* имя файла */ ...

Магнитола не сохраняет последний воспроизведённый файл (с флешки), а позицию сохраняет - Автоэлектроника
Во общем в машине есть магнитола JVC, в ней есть CD диск, USB flash накопитель и радио... Так вот: если на флешке будет играть музыка то...

Не сохраняется файл с абсолютным именем, ofstream - C++ Builder
На Win7 пытаюсь вывести данные в файл: ofstream fout(&quot;C:\\data.txt&quot;); Если делать вывод fout(&quot;data.txt&quot;) - все работает. Пробовал...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.11.2013, 08:06
Ответ Создать тему
Опции темы

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