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

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

Войти
Регистрация
Восстановить пароль
 
anubis1768
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
#1

Как вычислить, было ли нажатие пробела? - C++

15.03.2013, 19:10. Просмотров 378. Ответов 6
Метки нет (Все метки)

Как вычислить, было ли нажатие пробела при использовании объекта cin? Например, читаю строку, ввожу с пробелами, а в файле, в котором записывается строка все без пробелов. А нужно, чтобы было с пробелами
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2013, 19:10     Как вычислить, было ли нажатие пробела?
Посмотрите здесь:

как узнать нажатие клавиши было программным или от пользователя C++
Подсчитать количество слов, в тексте от пробела до пробела, и количество букв C++
C++ Как взять символы из строки до пробела?
C++ как переделать массив что бы не было его остановки и как добавить индекс
C++ Как создать программу в С++, чтобы его можно было запускать как исполняемый .exe файл?
C++ как задать знак пробела?
C++ Объясните как работает программа, которая заменяет 2 и больше подряд идущих пробела на один
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.03.2013, 19:35     Как вычислить, было ли нажатие пробела? #2
Можно так отменить пропуск пробелов:
C++
1
cin >> noskipws;
Использовать не оператор извлечения >> , а, напрмер, метод cin.get().
Если строку хотите записать в файл, то читайте её методом cin.getline() или функцией getline(). Всё зависит от конкретной задачи.
cxemuch205
 Аватар для cxemuch205
1 / 1 / 1
Регистрация: 31.10.2012
Сообщений: 46
15.03.2013, 19:45     Как вычислить, было ли нажатие пробела? #3
Попробуй подключить библиотеку <string.h> и использовать для ввода функцию gets(<имя_строки>); для вывода можно puts(<имя_строки>);
anubis1768
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
15.03.2013, 20:17  [ТС]     Как вычислить, было ли нажатие пробела? #4
alsav22, значить, чтобы мне ввести С++ строку, скажем string temp нужно написать вот так:
C++
1
cin >> noskipws >> temp;
?
но оно ругается, что noskipws не обьявленый идентификатор.
про cin.get() знаю, но опять же, как вычислить, был ли нажат Enter

Добавлено через 2 минуты
Цитата Сообщение от cxemuch205 Посмотреть сообщение
Попробуй
Я конкретно вопрос задал:
Цитата Сообщение от anubis1768 Посмотреть сообщение
при использовании объекта cin
Добавлено через 2 минуты
разобрался, забыл что манипуляторы ввода и вывода также входят в std

Добавлено через 5 минут
через noskipws неправильно работает, зациклывает программу и все. Можно ли как то вычислить методом cin.get() был ли нажат Enter?
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12514 / 7076 / 794
Регистрация: 27.09.2012
Сообщений: 17,477
Записей в блоге: 2
Завершенные тесты: 1
15.03.2013, 20:19     Как вычислить, было ли нажатие пробела? #5
Цитата Сообщение от anubis1768 Посмотреть сообщение
как вычислить, был ли нажат Enter
cin.get() возвращает управление при нажатии Enter
anubis1768
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
15.03.2013, 20:27  [ТС]     Как вычислить, было ли нажатие пробела? #6
все, разобрался, всем спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2013, 20:31     Как вычислить, было ли нажатие пробела?
Еще ссылки по теме:

C++ Как запретить ввод в строку всех символов, кроме 0, 1 и пробела?
C++ Как детектировать присутствие пробела в строке? Regex
Вывести файл на экран, чтобы в каждой строке было не больше 40 символов, и количество строк было минимальным C++
Аргументы командной строки: как программа корректно определяет два пробела в значении аргумента? C++
C++ Как запретить ввод пробела и букв?

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

Или воспользуйтесь поиском по форуму:
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.03.2013, 20:31     Как вычислить, было ли нажатие пробела? #7
Цитата Сообщение от anubis1768 Посмотреть сообщение
чтобы мне ввести С++ строку, скажем string temp нужно написать вот так:
C++
1
getline(cin, temp);
Yandex
Объявления
15.03.2013, 20:31     Как вычислить, было ли нажатие пробела?
Ответ Создать тему
Опции темы

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