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

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

Войти
Регистрация
Восстановить пароль
 
Oleg_SK
5 / 5 / 2
Регистрация: 15.09.2010
Сообщений: 25
#1

Непонятка при записи в текстовой файл - C++

06.03.2012, 20:26. Просмотров 403. Ответов 3
Метки нет (Все метки)

Есть несколько строковых переменных, которые нужно вывести в текстовой файл так, чтобы в файле их значения разделял бы служебный символ с кодом 10. Проблема в том, что перед служебным символом с кодом 10 почему-то добавляется служебный символ с кодом 13... Вот мой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    string str_1, str_2;
        
        *** //тут основной код, который изменяет значения переменных str_1 и str_2.
        
    std::fstream h("c:\\test.txt", ios::out);
 
    if (h.is_open())
    {
        h << str_1 << char(10);
        h << str_2 << char(10);
    }
 
    h.flush();
    h.close();
Не пойму: от куда вообще после каждой строки в файле берется служебный символ с кодом 13? В строковых переменных под отладчиком я его не вижу. Интересно, что если убрать из программы вывод в поток служебного символа 10, то и непонятный довесок пропадает. Вопрос: как избавиться от этой ненужной добавки?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2012, 20:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Непонятка при записи в текстовой файл (C++):

Баг при использовании класса string при записи в бинарный файл - C++
При записи в бинарный файл пользовательского класса, всё отлично отрабатывает, но, если в классе использовался класс string, то в конце...

Абракадабра при записи в файл и при чтении из него кириллицы - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { ofstream f(&quot;text.dat&quot;); f &lt;&lt; &quot;Тест&quot;; ...

Файл: Из текстового файла найти max и min элемент и записать в другой текстовой файл, не используя массив - C++
Из текстового файла найти max и min элемент и записать в другой текстовой файл, не используя массив

Перевод текстовой записи формулу в читаемую функцию. - C++
Пишу диплом, в реализации подразумевается генерация и изменение большого числа различных функций. Единственный вариант который я смог...

Знаю что информация неправильно преобразовывается при записи в файл, скорее всего и при считывании тоже. Как это исправить? - C++
Знаю что информация неправильно преобразовывается при записи в файл, скорее всего и при считывании тоже. Как это исправить? Вот что...

Непонятка при работе с файлом - C++
Есть проблема при работе с файлом. Нужно удалить гласные из текстового файла. Непонятно, почему без file.seekg(pos) он зацикливается ; ...

3
Melkor
30 / 30 / 1
Регистрация: 15.12.2011
Сообщений: 108
06.03.2012, 20:37 #2
хм... не уверен но попробуй открыть его не как текстовый а как бинарный файл. просто символ с кодом 10 это толи новая строка, толи перевод каретки (точно непомню) вобчем для текстовых файлов они идут парой и с этим ты ничего не сделаешь.
1
NoMasters
Псевдослучайный
1762 / 1105 / 73
Регистрация: 13.09.2011
Сообщений: 3,141
06.03.2012, 20:40 #3
Плюсовые stream'ы считают себя самыми умными и самовольно добавляют для виндов \r к \n(так уж принято у виндов: два символа в качестве перевода строки)... Попробуй через put записать.
2
Oleg_SK
5 / 5 / 2
Регистрация: 15.09.2010
Сообщений: 25
07.03.2012, 03:18  [ТС] #4
Проблема решилась открытием файла как бинарного.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2012, 03:18
Привет! Вот еще темы с ответами:

Ошибка при записи в файл - C++
помогите, вылетает ошибка при записи в файл ф-я void add_in_file(int n) что не так? #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

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

Непонятка при вводе структуры с клавиатуры - C++
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;string.h&gt; #include...

При записи Лога не заполняется файл - C++
Добрый день, подключил к готовому проекту Лог файл, чтобы прочитать некоторые данные. И из одних классов и функции все читается а из других...


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

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

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