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

fstream - символ пробела - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
ikmik
6 / 6 / 0
Регистрация: 07.07.2011
Сообщений: 117
28.09.2012, 21:19     fstream - символ пробела #1
Здравствуйте, господа программисты!
Есть вопрос - почему в ifstream первый символ файла имеет обозначение -1 (if.seekg(-1); )?
И при чтении файла (if >> y; ) вместо пробела выдает следующий символ? Это имеет решение?
Заранее благодарю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2012, 21:19     fstream - символ пробела
Посмотрите здесь:

C++ Вставить после каждого символа «.» один символ « » (пробел), если после точки нет пробела.
Заполнить 2 двухмерных массива символами. Написать функцию которая ставит символ пробела в старшем и младшем...(Использование директив) C++
Подсчитать количество слов, в тексте от пробела до пробела, и количество букв C++
C++ Дан тестовый файл. Вывести его содержимое в другой файл, заменив каждое вхождение пробела на символ нижнего подчеркивания.
В исходном предложении поставить между словами вместо пробела вставьте символ '*', вывести полученный текст и количество звездочек C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.09.2012, 22:02     fstream - символ пробела #2
Цитата Сообщение от ikmik Посмотреть сообщение
Есть вопрос - почему в ifstream первый символ файла имеет обозначение -1 (if.seekg(-1); )?
А в файле что? Если пустой, то -1 означает конец файла (EOF).

Добавлено через 1 минуту
Цитата Сообщение от ikmik Посмотреть сообщение
И при чтении файла (if >> y; ) вместо пробела выдает следующий символ?
Оператор вставки ( >> ) пропускает пробельные символы. Это форматируемый ввод. Если нужно с пробелами читать, используйте неформатируемый ввод: get(), getline() и пр.
ikmik
6 / 6 / 0
Регистрация: 07.07.2011
Сообщений: 117
28.09.2012, 22:16  [ТС]     fstream - символ пробела #3
файл не пустой, вначале два символа "#", при попытке списать файл в консоль с if.seekg(0); пишет только один. за второй совет спасибо, завтра посмотрю.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.09.2012, 01:51     fstream - символ пробела #4
Покажите как файл открываете для чтения.

Добавлено через 3 минуты
Цитата Сообщение от ikmik Посмотреть сообщение
(if.seekg(-1));
Это для чего такое?

Добавлено через 3 часа 10 минут
Если файл открывается просто для чтения, нет надобности применять seekg(). Курсор и так в начале файла, читайте на здоровье. И потом, как я понимаю, if у вас - это поток для чтения? Как на это компилятор реагирует? Имя переменной не должно совпадать с ключевым словом языка.
Yandex
Объявления
29.09.2012, 01:51     fstream - символ пробела
Ответ Создать тему
Опции темы

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