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

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

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

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

06.03.2012, 20:26. Просмотров 388. Ответов 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, то и непонятный довесок пропадает. Вопрос: как избавиться от этой ненужной добавки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2012, 20:26     Непонятка при записи в текстовой файл
Посмотрите здесь:

С++ и Stack overflow при записи в файл C++
C++ Ошибка при записи в файл
C++ Перевод строки при записи в файл
C++ Ошибка при записи в файл
C++ Вылет при записи структуры в файл [C++]
Перевод текстовой записи формулу в читаемую функцию. C++
C++ Файл: Из текстового файла найти max и min элемент и записать в другой текстовой файл, не используя массив
Непонятка при вводе структуры с клавиатуры C++
C++ Лишние символы при записи в файл
Проверка на повтор при записи в файл C++
C++ Абракадабра при записи в файл и при чтении из него кириллицы
При записи Лога не заполняется файл C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Melkor
30 / 30 / 1
Регистрация: 15.12.2011
Сообщений: 108
06.03.2012, 20:37     Непонятка при записи в текстовой файл #2
хм... не уверен но попробуй открыть его не как текстовый а как бинарный файл. просто символ с кодом 10 это толи новая строка, толи перевод каретки (точно непомню) вобчем для текстовых файлов они идут парой и с этим ты ничего не сделаешь.
NoMasters
Псевдослучайный
1743 / 1086 / 71
Регистрация: 13.09.2011
Сообщений: 3,108
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     Непонятка при записи в текстовой файл
Ответ Создать тему
Опции темы

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