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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.67
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
#1

Какая разница между cin и getline? - C++

09.01.2010, 13:18. Просмотров 2295. Ответов 6

1) Какая разница между cin и getline?
2) Почему будет работать "string s=a+" "+b" (где а и b другие переменные типм sting), и не будет работать "string s="My dog is "+"very clever""?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт С++
 Аватар для odip
7151 / 3291 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
09.01.2010, 13:50     Какая разница между cin и getline? #2
1) Какая разница между cin и getline?
Это несравнимые сущности: cin - объект, getline - функция
cin - http://www.cplusplus.com/reference/iostream/cin/
getline - http://www.cplusplus.com/reference/string/getline/

Почему будет работать "string s=a+" "+b" (где а и b другие переменные типм sting), и не будет работать "string s="My dog is "+"very clever""?
Потому что нет функции которая может сделать второе.
Но есть функции типа
string operator + ( string, const char * )
и есть string operator + ( string, string )
RazorQ
 Аватар для RazorQ
576 / 343 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
09.01.2010, 14:19     Какая разница между cin и getline? #3
Цитата Сообщение от odip Посмотреть сообщение
Но есть функции типа
string operator + ( string, const char * )
и есть string operator + ( string, string )
В таком случае friend string operator + (string, const char *)
и friend string operator + (string, string)
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
09.01.2010, 14:35     Какая разница между cin и getline? #4
автор, я бы вам посоветовал Мейерса почитать (эффективное использование С++, наиболее эффективное использование C++) там примерно такие вопросы разбираются, а так же связанные с наследованием, управление памяти в С++ конструкторами, деструкторами, динамическиими объектами и т д.
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
09.01.2010, 15:40  [ТС]     Какая разница между cin и getline? #5
Когда я (на строчках считывания), меняю getline(cin, ...); на cin>>...; то строчки считываютса, но результат совсем другой... Почему?
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 name, por, age, info;
int k;
getline(cin, name);
getline(cin, por);
getline(cin, age);
info="I like name "+name+"! I think the "+por+"s are \nthe best dogs! And he is rather young! Just "+age+" years old!";
cout<<info;
cin>>k;
return 0;
}
Somebody
2775 / 1589 / 142
Регистрация: 03.12.2007
Сообщений: 4,162
Завершенные тесты: 1
09.01.2010, 17:36     Какая разница между cin и getline? #6
Цитата Сообщение от nikkka Посмотреть сообщение
Когда я (на строчках считывания), меняю getline(cin, ...); на cin>>...; то строчки считываютса, но результат совсем другой... Почему?
operator>>
operator>>

<string>

istream& operator>> (istream& is, string& str);

Extract string from istream
Extracts a string from the input stream is storing its content in str. Any previous content of str is cleared.

This function overloads the global operator>> to behave as described in istream::operator>> but applied to string objects.

Notice that the istream extraction operations use whitespaces as separators, therefore this operation will only extract what can be considered a word from the stream. To extract entire lines of text, refer to the string overload of global function getline.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2010, 17:37     Какая разница между cin и getline?
Еще ссылки по теме:

C++ Не работает ни cin.Get(), ни cin.Getline()
Отличие getline() от cin.getline() C++
Объясните разницу между "cin.getline" и "std::getline" C++
C++ Какая Разница между сортировками?
C++ Метод getline(cin, m) не срабатывает без cin.ignore() / Ревью кода

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

Или воспользуйтесь поиском по форуму:
kazak
 Аватар для kazak
3030 / 2351 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
09.01.2010, 17:37     Какая разница между cin и getline? #7
cin счытывает данные до первого пробела, getline по умолчанию счытывает до перевода строки.
Yandex
Объявления
09.01.2010, 17:37     Какая разница между cin и getline?
Ответ Создать тему
Опции темы

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