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

Вывод строки на экран - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 40, средняя оценка - 4.65
unbelievable
0 / 0 / 0
Регистрация: 01.01.2011
Сообщений: 79
21.04.2012, 16:50     Вывод строки на экран #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
 
string s;
cout << "enter string " << endl;
cin >> s;
cout << "Here is your string" << s << endl;
 
 
return 0;
}

Выводит только первое слово. В чем причина?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,398
21.04.2012, 16:53     Вывод строки на экран #2
Цитата Сообщение от unbelievable Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
 
string s;
cout << "enter string " << endl;
cin >> s;
cout << "Here is your string" << endl;
 
 
return 0;
}

Выводит только первое слово. В чем причина?

C++
1
cout << "Here is your string" << s<< endl;
, не?
unbelievable
0 / 0 / 0
Регистрация: 01.01.2011
Сообщений: 79
21.04.2012, 16:55  [ТС]     Вывод строки на экран #3
Цитата Сообщение от MrGluck Посмотреть сообщение
C++
1
cout << "Here is your string" << s<< endl;
, не?
Опечатался. нет, выводит только первое слово
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,398
21.04.2012, 16:57     Вывод строки на экран #4
Цитата Сообщение от unbelievable Посмотреть сообщение
Опечатался. нет, выводит только первое слово
паузу добавляли?
если на винде, то:

C++
1
2
#include <conio.h>
getch();
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
21.04.2012, 16:58     Вывод строки на экран #5
Потому что operator >> читает только первое слово.
Попробуйте
C++
1
getline(cin, s);
unbelievable
0 / 0 / 0
Регистрация: 01.01.2011
Сообщений: 79
21.04.2012, 17:02  [ТС]     Вывод строки на экран #6
Цитата Сообщение от MrGluck Посмотреть сообщение
паузу добавляли?
если на винде, то:

C++
1
2
#include <conio.h>
getch();
Все равно так же. Оно просто до пробела читает. там не через cin помоему надо...

Добавлено через 1 минуту
всё, разобрался.


getline(cin, s);
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,398
21.04.2012, 17:04     Вывод строки на экран #7
Все, я понял что ты хочешь, считать в переменную типа string несколько слов (разделенных пробелами), ну юзай getline(std::cin, s);

Не по теме:

Опоздал

unbelievable
0 / 0 / 0
Регистрация: 01.01.2011
Сообщений: 79
21.04.2012, 17:17  [ТС]     Вывод строки на экран #8
MrGluck, помоги пожалуйста в этом же коде перевести все введеные символы в нижний регистр
Xavier
in god we trust
 Аватар для Xavier
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
21.04.2012, 17:40     Вывод строки на экран #9
Для перевода в нижний регистр используй функцию tolower()
C++
1
2
for(int i=0;s[i];++i)
s[i]=tolower(s[i]);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2013, 20:04     Вывод строки на экран
Еще ссылки по теме:

Вывод на экран чётных слов строки исправить на вывод нечётных слов C++
C++ Вывод на экран
C++ Вывести на экран все строки данного массива одну за другой в виде целой строки

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

Или воспользуйтесь поиском по форуму:
MaevskiyOff
 Аватар для MaevskiyOff
8 / 8 / 1
Регистрация: 23.03.2013
Сообщений: 14
29.03.2013, 20:04     Вывод строки на экран #10
Странно, что программа вообще работает, потому что функция cout не предназначена для вывода строковых переменных типа String и AnsiString, лучше использовать printf...

Добавлено через 1 час 7 минут
Помогите пожалуйста, нужно просто вывести на экран, введенную строку, что не так:

C
1
2
3
4
5
string stroka;
    
    printf("Vvedi stroku: "); 
    scanf("%s", &stroka); 
    printf("Stroka = %s", stroka);
Заранее спасибо!
Yandex
Объявления
29.03.2013, 20:04     Вывод строки на экран
Ответ Создать тему
Опции темы

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