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

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

Восстановить пароль Регистрация
 
Oleg_SK
5 / 5 / 2
Регистрация: 15.09.2010
Сообщений: 25
06.03.2012, 20:26     Непонятка при записи в текстовой файл #1
Есть несколько строковых переменных, которые нужно вывести в текстовой файл так, чтобы в файле их значения разделял бы служебный символ с кодом 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, то и непонятный довесок пропадает. Вопрос: как избавиться от этой ненужной добавки?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Melkor
30 / 30 / 1
Регистрация: 15.12.2011
Сообщений: 108
06.03.2012, 20:37     Непонятка при записи в текстовой файл #2
хм... не уверен но попробуй открыть его не как текстовый а как бинарный файл. просто символ с кодом 10 это толи новая строка, толи перевод каретки (точно непомню) вобчем для текстовых файлов они идут парой и с этим ты ничего не сделаешь.
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,094
06.03.2012, 20:40     Непонятка при записи в текстовой файл #3
Плюсовые stream'ы считают себя самыми умными и самовольно добавляют для виндов \r к \n(так уж принято у виндов: два символа в качестве перевода строки)... Попробуй через put записать.
Oleg_SK
5 / 5 / 2
Регистрация: 15.09.2010
Сообщений: 25
07.03.2012, 03:18  [ТС]     Непонятка при записи в текстовой файл #4
Проблема решилась открытием файла как бинарного.
Yandex
Объявления
07.03.2012, 03:18     Непонятка при записи в текстовой файл
Ответ Создать тему
Опции темы

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