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

Вывод символа в файл (я что то делаю не так) - C++

Восстановить пароль Регистрация
 
eaglecrazy
1 / 1 / 0
Регистрация: 06.02.2012
Сообщений: 31
03.07.2012, 18:17     Вывод символа в файл (я что то делаю не так) #1
Честно говоря чувствую себя идиотом, но не получается записать символ в файл. Вот код. Что там не так? Мозг взрывается. После выполнения остаётся пустой файл. Заранее спасибо!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <fstream>
 
using namespace std;
 
 
int main()
{
    fstream f;
    f.open("1", ios::out);//создание файла
    f.close();
 
    f.open("1", ios::ate);//открывается для записи и чтения
    f << 'q';
    f.close();
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2012, 18:17     Вывод символа в файл (я что то делаю не так)
Посмотрите здесь:

C++ Объсните что делаю не так
Скажите, что не так делаю! C++
C++ что не так делаю?!
C++ Шаблоны. Что я не так делаю?
C++ Подскажите, что я делаю не так
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
03.07.2012, 18:20     Вывод символа в файл (я что то делаю не так) #2
ate (at end) Set the stream's position indicator to the end of the stream on opening.
с чего вы взяли что это на запись и чтение сразу?
просто на запись ios::out, чтение - ios::in
eaglecrazy
1 / 1 / 0
Регистрация: 06.02.2012
Сообщений: 31
03.07.2012, 20:57  [ТС]     Вывод символа в файл (я что то делаю не так) #3
Цитата Сообщение от sandye51 Посмотреть сообщение
с чего вы взяли что это на запись и чтение сразу?
просто на запись ios::out, чтение - ios::in
Ну так в книжке написано, и ещё на паре сайтов я посмотрел. Если просто ios::out поставить, то конечно запись в файл будет. Только он сотрётся предварительно, а мне нужно дописать один символ в начало файла. Код выше - это просто как упрощённый пример.

Добавлено через 2 часа 8 минут
Или что бы заменить символ в начале файла, есть только один способ, прочитать его и затем создавать новый???
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2012, 02:38     Вывод символа в файл (я что то делаю не так) #4
Или что бы заменить символ в начале файла, есть только один способ, прочитать его и затем создавать новый???
Для добавления в конец файла:
C++
1
f.open("1", ios::app);//открывается для добавления в конец файла.
ios::ate устанавливает файловый курсор на конец файла.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
  ofstream ("1"); //создание.  
  f.open("1", ios::out | ios::in);//открывается для записи и чтения,
                                               //содержимое не стирается.
    
    f << 'q';
 
    f.close();
 
    f.open("1", ios::app);//открывается для добавления в конец файла.
    f << 'a';
    
    f.close();
    
    return 0;
}
Добавлено через 20 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    fstream f("1"); // открывается для записи и чтения (должен  быть).
    f << 'q';
    f.ate; //передвигаем курсор в конец файла.
    f << 'c'; //записываем туда 'c'.
    f.close();
    
    return 0;
}
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
04.07.2012, 08:40     Вывод символа в файл (я что то делаю не так) #5
alsav22, бред написан
Цитата Сообщение от alsav22 Посмотреть сообщение
f.ate; //передвигаем курсор в конец файла.
вообще смешно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2012, 08:59     Вывод символа в файл (я что то делаю не так) #6
Цитата Сообщение от sandye51 Посмотреть сообщение
alsav22, бред написан

вообще смешно
Не спорю. Почему компилятор не ругается ? Как сие трактует?
C++
1
f.ate;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2012, 14:33     Вывод символа в файл (я что то делаю не так)
Еще ссылки по теме:

Что я делаю не так? C++
Что я делаю не так? C++
C++ Что я делаю не так?

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

Или воспользуйтесь поиском по форуму:
eaglecrazy
1 / 1 / 0
Регистрация: 06.02.2012
Сообщений: 31
04.07.2012, 14:33  [ТС]     Вывод символа в файл (я что то делаю не так) #7
C++
1
2
  f.open("1", ios::out | ios::in);//открывается для записи и чтения,
                                               //содержимое не стирается.
Это помогло. Спасибо! Вроде я так пробовал, не выходило... видно нужно было больше поспать.
Yandex
Объявления
04.07.2012, 14:33     Вывод символа в файл (я что то делаю не так)
Ответ Создать тему
Опции темы

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