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

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

Войти
Регистрация
Восстановить пароль
 
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
#1

Игнорирование пробелов при чтении символов из входного потока - C++

29.03.2014, 17:44. Просмотров 625. Ответов 3
Метки нет (Все метки)

Задача: нужно найти количество слов в тексте.

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <fstream>
#include <iostream>
#include <conio.h>
using namespace std;
 
int main()
{
    ifstream fin;
    fin.open("text.txt");
    int count = 0;
    char ch;
 
    while(!fin.eof())
    {
        fin >> ch;
        if (ch == ' ') count++;
    }
 
    cout << "count: " << count << endl;
    cout << "ch: " << ch << endl;
    getch();
}


Почему не считаются пробелы в тексте? Если, например, запишу в if 'a' вместо ' ', то показывает все правильно. Объясните пожалуйста.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2014, 17:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Игнорирование пробелов при чтении символов из входного потока (C++):

Вывести все слова входного потока, заканчивающиеся заданной последовательностью символов - C++
Пожалуйста помогите!

Игнорирование пробелов при считывание - C++
Здравствуйте, друзья. передо мной стоит задача проверить, является ли строка палиндромом. я предложил вот такую реализацию. ...

Ошибка при чтении символов строки - C++
static char strNAME = {&quot;D\\0000.f&quot;}; // &lt;&lt;-- ... void save_mesto_in_file(int r, int m) { using namespace std; ...

Ошибка при чтении символов строки - C++
Здравствуйте, уважаемые программисты! Решил написать программу, которая бы определяла слово-полиндром. В итоге обнаружилась ошибка в...

Ошибка при чтении символов строки - C++
Ошибка при чтении key_text при вызове метода object_yes_no(), почему? //Создание класса указателей с наследниками-объектами ...

Ошибка при чтении символов строки - C++
Как я понял, что ошибка из-за функции ChooseAnswer. При использовании return. Если в каждый Case прописать Return Answer, то ошибок нет, а...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
just_freelance
61 / 37 / 9
Регистрация: 15.03.2014
Сообщений: 315
29.03.2014, 17:50 #2
Попробуй не
C++
1
fin >> ch;
а
C++
1
ch = fin.get();
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
29.03.2014, 17:52  [ТС] #3
Спасибо, а можно узнать почему так?
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
29.03.2014, 17:55 #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Или так
C++
1
fin >> std::noskipws >> ch;
По определению пробел считается символом разделителем. Обьект потока обычно имеет режим skipws (skip whitespace) и пропускает их.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2014, 17:55
Привет! Вот еще темы с ответами:

Ошибка при чтении символов строки - C++
Здравствуйте, уважаемые форумчане! Решил вспомнить программирование и написать программу, которая определяла бы слово-полиндром. Все...

Бинарный файл, ошибка при чтении символов - C++
Здравствуйте, нужна помощь. Среда MS VS 2013 &quot;Ошибка при чтении символов&quot;, чтении происходит из бинарного файла. А вот что при выводе...

Ошибка при чтении символов строки, работа с классом - C++
Делаю лабораторную на тему Класс студентов. Реализовал несколько функций ввода и вывода студентов, функцию расчета средней арифметической...

Как обнулять Ch при каждом новом чтении символов из строки? - C++
Можно ли обнулять Ch при последовательном чтении символов строки? Я имею ввиду что-нибудь похожее на Ch := ''; в Паскале. Если нет, то как...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.03.2014, 17:55
Ответ Создать тему
Опции темы

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