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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.67
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
09.01.2010, 13:18     Какая разница между cin и getline? #1
1) Какая разница между cin и getline?
2) Почему будет работать "string s=a+" "+b" (где а и b другие переменные типм sting), и не будет работать "string s="My dog is "+"very clever""?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2010, 13:18     Какая разница между cin и getline?
Посмотрите здесь:

C++ какая разница между cin и scanf?
getline(cin, str) и cin>> C++
C++ Отличие функции cin.get и cin.getline
cin.getline и cin.ignore C++
C++ Cin вместо cin.getline
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
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
574 / 341 / 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)
Андрейка
410 / 214 / 24
Регистрация: 25.03.2009
Сообщений: 717
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
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 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 с тремя параметрами
C++ Не работает ни cin.Get(), ни cin.Getline()
Отличие getline() от cin.getline() C++

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

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

Метки
cin, getline
Опции темы

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