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

fstream не работает и чтение и запись - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 39, средняя оценка - 4.97
Red Planet
 Аватар для Red Planet
49 / 10 / 2
Регистрация: 20.09.2009
Сообщений: 263
17.03.2012, 12:51     fstream не работает и чтение и запись #1
Добрый день! Не пойму, почему введение функции getline становится причиной того, что запись в файл не идет. Если getline убрать, то все нормально.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <vcl>
#include <fstream>
#include <iostream>
#include <string>
#pragma hdrstop
 
using namespace std;
 
 
#pragma argsused // No warning if function args are not in use.
// But there is no warning while compiling project. Why?
int _tmain(int argc, _TCHAR* argv[]) {
 
    fstream fs;
    fs.open("test.txt", ios_base::in | ios_base::out | ios_base::app);
    string curr;
    getline(fs, curr);
    cout << curr << endl;
    int s = 1, t = 2;
    fs << s << t << "\n\n"; // It is failed every time
 
    fs.close();
    system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2012, 12:51     fstream не работает и чтение и запись
Посмотрите здесь:

запись/чтение структуры через fstream C++
fstream: открытие на запись C++
C++ Запись в файл fstream
Запись/чтение структур (файлы) + разница между FILE * и <fstream> C++
Заменить чтение из файла аналогом fstream C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,630
Записей в блоге: 17
25.03.2012, 15:05     fstream не работает и чтение и запись #21
Сталкивался с такой проблемой надо устанавливать позицию курсора при смене чтение/запись
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Red Planet
 Аватар для Red Planet
49 / 10 / 2
Регистрация: 20.09.2009
Сообщений: 263
25.03.2012, 18:28  [ТС]     fstream не работает и чтение и запись #22
Цитата Сообщение от retmas Посмотреть сообщение
"не верю" (с)

могу только повторить. fs.seekp(ios::end); для записи - лишнее
retmas, а IDE у вас какая? Я пробовал на C++Builder 2010 и на Microsoft Visual C++ 2010 Express, но и на одной, и на другой требовалось

C++
1
fs.seekp(ios::end);
Цитата Сообщение от Avazart Посмотреть сообщение
Сталкивался с такой проблемой надо устанавливать позицию курсора при смене чтение/запись
Запомню.
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
25.03.2012, 19:51     fstream не работает и чтение и запись #23
борландом не пользуюсь. visual ведет себя как положено, так же ведут себя и gcc и интеловский компиль. раньше был еще dmc с стл портом. и насколько я помню стл порт тоже вел себя как подобается.
незнаю, но полагаю борланд тоже ведет себя стандартно, просто вы где-то ошиблись/недосмотрели, а может не видите очевидного "слона". такое бывает часто со всеми
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,630
Записей в блоге: 17
25.03.2012, 20:45     fstream не работает и чтение и запись #24
И тем не менее другого решения я видел, да и сам его нашел методом тыка
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
25.03.2012, 23:40     fstream не работает и чтение и запись #25
Цитата Сообщение от Avazart Посмотреть сообщение
Сталкивался с такой проблемой надо устанавливать позицию курсора при смене чтение/запись
Вы очевидно путаете с режимом ios::ate. Для ios::app при записи укатель должен автоматически перемещаться в конец файла.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2012, 23:59     fstream не работает и чтение и запись
Еще ссылки по теме:

C++ Чтение всего файла fstream
C++ Не работает метод класса (запись и чтение в файл)
Fstream - чтение из файла C++

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

Или воспользуйтесь поиском по форуму:
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,630
Записей в блоге: 17
25.03.2012, 23:59     fstream не работает и чтение и запись #26
Нет ничуть, я говорю про одновременное чтение и запись в файл используя fstream

Если не ошибаюсь то так
C++
1
fs.seekp(fs.tellg());
Yandex
Объявления
25.03.2012, 23:59     fstream не работает и чтение и запись
Ответ Создать тему
Опции темы

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