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

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

Войти
Регистрация
Восстановить пароль
 
dimcoder
Полярный
458 / 431 / 67
Регистрация: 11.09.2011
Сообщений: 1,129
#1

ios::app не позволяет работать с seekp() или Update файла без удаления в нем информации при его октрытии - C++

25.03.2012, 09:20. Просмотров 920. Ответов 5
Метки нет (Все метки)

Здравствуйте форумчане. В общем вот как можно сформулировать задание.
Есть файл с каким либо содержанием. Заменить первые 3 буквы в этом файле на слово "DOG", не использую дополнительных файлов, массивов и.т.п.
Короче пробовал сделать так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <cstdlib>
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    ofstream fout("c:\\symb.txt", ios::app);      //Открыть файл в ражиме append
    fout.seekp(ios::beg);                         //Поставить указатель на начало
    fout << "DOG";
    return EXIT_SUCCESS;
}
Казалось бы должно работать, но нет - пишет в конец файла. Видимо в режиме append так нельзя. Есть альтернативы, предложения?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2012, 09:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ios::app не позволяет работать с seekp() или Update файла без удаления в нем информации при его октрытии (C++):

Удаление файла без возможности его удаления. Подскажите, с чего начать. - C++
есть задачка удаление файла без возможности его удаления, подскажите с чего начать? и нужно ли использовать WinAPI ? может что...

Как использовать RecordSet при обновлении данных (выдает ошибку: update или cancelupdate без addnew или edit) - MS Access
Доброго времени суток уважаемые форумчане! Подскажите пожалуйста где ошибку делаю, при обновлении данных с помощью рекодсета: Sub...

Разница между ios::ate и ios::app - C++
Здравствуйте, кто нить может поконкретнее и человеческим языком объяснить в чем разница между ios::ate и ios::app ? Был бы весьма...

ios::app,ios::ate,различия - C++
Есть такая формулировка: Отсюда http://www.cyberforum.ru/post441043.html Посмотрим другую формулировку: Отсюда...

Ошибка update или cancelupdate без addnew или edit - MS Access
Здравствуйте. У меня на форме при нажатии кнопки добавлен код прибавления времени к значению предыдущего поля: Me.След_поле.Value =...

Ошибка Update или CancelUpdate без addnew или Edit - MS Access
Добрый вечер уважаемые знатоки! Очень нужна ваша помощь! После выбора заявок (пример форма PPAP Registry) в вернем списке информация...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
retmas
Жарю без масла
859 / 741 / 164
Регистрация: 13.01.2012
Сообщений: 1,694
25.03.2012, 09:26 #2
ios::app всегда пишет в конец
C++
1
2
fstream fout("c:\\symb.txt");
fout << "DOG";
dimcoder
Полярный
458 / 431 / 67
Регистрация: 11.09.2011
Сообщений: 1,129
25.03.2012, 09:29  [ТС] #3
retmas, я это понял, но если открыть файл как вы показали, то он откроется по умолчанию в режиме ios::out, а значит удалит всю информацию в файле. А мне надо инфу в файле сохранить, причем не используя всяких массивов и файлов дополнительных как временное хранилище данных из этого файла.
retmas
Жарю без масла
859 / 741 / 164
Регистрация: 13.01.2012
Сообщений: 1,694
25.03.2012, 09:31 #4
нет он откроется в режиме ios_base::in | ios_base::out, если существует, и сделает замену в текущую позицию
dimcoder
Полярный
458 / 431 / 67
Регистрация: 11.09.2011
Сообщений: 1,129
25.03.2012, 09:38  [ТС] #5
Цитата Сообщение от retmas Посмотреть сообщение
ios_base::in | ios_base::out
Спасибо, это помогло. +100500
retmas, где можно почитать про режимы работы с файлами и их сочетания?
retmas
Жарю без масла
859 / 741 / 164
Регистрация: 13.01.2012
Сообщений: 1,694
25.03.2012, 09:56 #6
думаю во многих книгах это описано.
если вам известно как пользоваться режимами в Си (ф-ии fopen), то легко увидите аналогию
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2012, 09:56
Привет! Вот еще темы с ответами:

Ошибка update или cancelupdate без addnew или edit - MS Access
Добрый день! Возможно тема дублируется, но решения не нашёл:resent:! Подскажите пожалуйста!!! Есть разделённая форма в ней...

Update или CancelUpdate без AddNew или Edit - MS Access
подскажите что делать

Ios::ate и ios::app - C++
Добрый день, тут на форуме вычитал, что открытие файла с включенным битом ios::app автоматически ставит указатель чтения и записи на конец...

Загрузка файла и информации о нем - Ruby on Rails
Нажимаю кнопку загрузки файла, а создается запись и файл не загружается. Как это исправить? Нужно загружать на сайт книги и информацию о...


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

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

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