Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Потоки и символ конца строки  (Прочитано 7296 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Deatz
Гость
« : 06-05-2008 15:14 » 

Всем привет!

Давайте рассмотрим фрагмент простой программы:

    using namespace std;

    fstream out("jkl.txt", ios_base::out);

    out.put(63);
    out.put(10);
    out.put(79);

    out.close();

Теперь открываем файл "jkl.txt" шестнадцатиричным редактором. В нём мы видим следующее:

3F 0D 0A 4F

3F и 4F - это наши числа до и после десятки, но откуда взялись два байта посередине? Судя по всему, 10 - это спец-символ. И я убедился, что:

    out.put(10);

        даёт абсолютно такой же эффект, как и

    out << endl;

Теперь мой вопрос: как это отключить? Мне нужно, чтобы результатом out.put(10); был байт с десяткой в выходном потоке.

Спасибо за ваше внимание.
Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 06-05-2008 15:42 » 

Как вариант,
Код:
fstream out("test.txt", ios_base::out | fstream::binary);

или, что, насколько я понимаю, по сути одно и то же:
Цитата: Джон
ios_base::binary
« Последнее редактирование: 06-05-2008 15:47 от Вад » Записан
Deatz
Гость
« Ответ #2 : 06-05-2008 18:40 » new

Спасибо, ребята! Ну и лоханулся я!!! Каюсь, грамоту надо знать. Ещё раз огромное спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines