|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.05.2008, 19:20 | #1 |
Регистрация: 06.05.2008
Сообщений: 4
|
Потоки и символ конца строки
Всем привет!
Давайте рассмотрим фрагмент простой программы: 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); был байт с десяткой в выходном потоке. Спасибо за ваше внимание. |
07.05.2008, 00:21 | #2 |
Тупой студент
Форумчанин
Регистрация: 12.05.2007
Сообщений: 614
|
дело в том, что медод put записывает в поток чар, а не инт.
пиши и читай так: Код:
|
07.05.2008, 18:41 | #3 |
Регистрация: 06.05.2008
Сообщений: 4
|
Спасибо. Я действительно забыл про флаг binary...
|
07.05.2008, 20:02 | #4 |
Тупой студент
Форумчанин
Регистрация: 12.05.2007
Сообщений: 614
|
да дело и не во флаге бинари, ты просто записывал код чара по аски таблице символов, а думал что пишешь инт. я на самом деле fstream ом не пользуюсь, только FILE*, или винапишными средствами
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удвоить каждый символ строки, потом перевернуть строку | Didi | Помощь студентам | 6 | 20.05.2008 15:33 |
как присвоить char'у символ перевода строки? | Retiz | Помощь студентам | 6 | 06.04.2008 00:05 |
Макрос - до конца данных | jungo | Microsoft Office Excel | 6 | 08.02.2008 09:47 |
удаление текста с конца | Lonix | Общие вопросы Delphi | 7 | 12.07.2007 14:00 |