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

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

Войти
Регистрация
Восстановить пароль
 
AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
#1

выбивает прогу при пробелах - C++

10.04.2009, 18:24. Просмотров 542. Ответов 3
Метки нет (Все метки)

прога простая - прочитать строку, записать ее в массив, распечатать ее:
C++
1
2
3
char str[256];
cin>>str;
cout<<str;
если вводить строку без пробелов, все отлично.
а вот если ввести строку типа - asdf sdfeee sdfdfs, прогу выбивает.
тоже самое происходит если пытаюсь заменить пробелы.
не могу понять почему так происходит???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2009, 18:24     выбивает прогу при пробелах
Посмотрите здесь:

C++ Выбивает ошибку
В классах выбивает ошибку C++
C++ Выбивает 1.#IND
C++ Написал прогу по стеку, но при выводе содержимого - выводит только последний добавленный
C++ Выбивает ошибку, в чём ошибка при проверке массива?
Выбивает ошибку при запуске в «планировщике заданий» C++
Ошибку выбивает C++
C++ Выбивает при создании вектора
выбивает ошыбку C++
C++ Программа выбивает ошибку при выводе
Компьютер при исчислениях ненадолго виснет и иногда выбивает число nan C++
C++ Выбивает ошибку в коде

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
1347 / 880 / 52
Регистрация: 02.01.2009
Сообщений: 2,645
Записей в блоге: 1
10.04.2009, 18:30     выбивает прогу при пробелах #2
Так пойдет
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string str;
    getline(cin,str);
    cout<<str<<endl;;
    return 0;
}
Rumata
4 / 4 / 0
Регистрация: 10.04.2009
Сообщений: 23
10.04.2009, 18:35     выбивает прогу при пробелах #3
Цитата Сообщение от AltPeople Посмотреть сообщение
прога простая - прочитать строку, записать ее в массив, распечатать ее:
C++
1
2
3
char str[256];
cin>>str;
cout<<str;
если вводить строку без пробелов, все отлично.
а вот если ввести строку типа - asdf sdfeee sdfdfs, прогу выбивает.
тоже самое происходит если пытаюсь заменить пробелы.
не могу понять почему так происходит???
в массиве символов последний символ '0', а cin считает пробел как символ '0'
тебе нужно использовать:
C++
1
cin.get(str, 256); //метод считывает строку в массив str размером 256 до нажатия ENTER
Mecid
678 / 227 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
10.04.2009, 18:39     выбивает прогу при пробелах #4
еще можно cin.getline
Yandex
Объявления
10.04.2009, 18:39     выбивает прогу при пробелах
Ответ Создать тему
Опции темы

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