Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/79: Рейтинг темы: голосов - 79, средняя оценка - 4.77
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096

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

09.01.2010, 13:18. Показов 16607. Ответов 6

Студворк — интернет-сервис помощи студентам
1) Какая разница между cin и getline?
2) Почему будет работать "string s=a+" "+b" (где а и b другие переменные типм sting), и не будет работать "string s="My dog is "+"very clever""?
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.01.2010, 13:18
Ответы с готовыми решениями:

Какая разница между cin и scanf?
Здраствуйте. А какая разница между cin и scanf?

Продемонстрировать различие между вводом с помощью cin.Get и cin.Getline с тремя параметрами
Нужна помощь. Задача продемонстрировать различие между вводом с помощью cin.get и cin.getline с тремя параметрами, как из потока достать...

Объясните разницу между "cin.getline" и "std::getline"
string a; cin.getline(a); getline(cin, a);в чем разница между "cin.getline(a);" и "getline(cin, a);"

6
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
09.01.2010, 13:50
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 )
1
 Аватар для RazorQ
591 / 357 / 16
Регистрация: 06.02.2009
Сообщений: 1,386
09.01.2010, 14:19
Цитата Сообщение от odip Посмотреть сообщение
Но есть функции типа
string operator + ( string, const char * )
и есть string operator + ( string, string )
В таком случае friend string operator + (string, const char *)
и friend string operator + (string, string)
1
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
09.01.2010, 14:35
автор, я бы вам посоветовал Мейерса почитать (эффективное использование С++, наиболее эффективное использование C++) там примерно такие вопросы разбираются, а так же связанные с наследованием, управление памяти в С++ конструкторами, деструкторами, динамическиими объектами и т д.
1
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
09.01.2010, 15:40  [ТС]
Когда я (на строчках считывания), меняю 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;
}
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
09.01.2010, 17:36
Цитата Сообщение от 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.
0
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,306
09.01.2010, 17:37
cin счытывает данные до первого пробела, getline по умолчанию счытывает до перевода строки.
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.01.2010, 17:37
Помогаю со студенческими работами здесь

Метод getline(cin, m) не срабатывает без cin.ignore() / Ревью кода
Почему в моем случае getline(cin, m) не срабатывает без cin.ignore() ? Если по коду есть какие-нибудь замечания, то просьба написать что не...

Объясните работу методов cin.getline и cin.ignore
Фрагмент программы ниже. Что делают cin.getline и cin.ignore (12-13 строки) void WorkWithBooks(int Books) { if (Books &gt; 0) ...

Отличие функции cin.get и cin.getline
Добрый день! Изучаю функции get и getline, сказано, что они отличаются тем, что функция get считывает символ разрыва строк и оставляет...

Отличие getline() от cin.getline()
Чем отличается getline() от cin.getline() ?

Какая Разница между сортировками?
Какая разница между сортировками, если в итоге все виды сортируют одинаково. Т е. Результат одинаковый


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru