Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Krist_ALL
9 / 9 / 0
Регистрация: 01.02.2010
Сообщений: 317
#1

Вопрос по cin с точкой - C++

07.03.2010, 18:46. Просмотров 1271. Ответов 11
Метки нет (Все метки)

C++
1
cin.getline(a, LINE_SIZE);
обычно cin >> a
но почему тут точка.
код с каковато сайта...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2010, 18:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопрос по cin с точкой (C++):

Защита от дурака при вводе текста с помощью: cin.get cin.clear cin.sync - C++
Доброго времени суток. На С++ учусь с недавних пор. Имеется стандартная "защита от дурака" на ввод. Не пойму предназначение cin.get() !=...

Объясните пожалуйста как работают cin.good(), cin.sync(), cin.clear() - C++
Такая проблема: сдаю в вуза лабораторные по программированию, писал все сам, до этого c++ не изучал, поэтому возникали некоторые проблемы....

Вопрос по оператору cin - C++
Компилятор Microsoft Visual C++ 6.0. При использовании оператора cin, после того как вводишь значение, происходит автоматический...

Вопрос про cin.getline() - C++
char mas; cout<<"Add Age "; cin>>Age; cout<<"Add Name "; cin.getline(mas,20); Name = new char; strcpy(Name,...

два вопроса по С++,вопрос про заг.файла и поток cin - C++
1.У меня есть заголовoчный файл,созданный в проекте А,в проекте В он нужен,как его туда добавить?Надо самим файл из папку в папку...

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

11
al072
15 / 15 / 0
Регистрация: 03.02.2010
Сообщений: 133
07.03.2010, 18:49 #2
Цитата Сообщение от Krist_ALL Посмотреть сообщение
C++
1
cin.getline(a, LINE_SIZE);
обычно cin >> a
но почему тут точка.
код с каковато сайта...
в строке этого кода производиться получение введенных значений при помощи функции getline().
0
Krist_ALL
9 / 9 / 0
Регистрация: 01.02.2010
Сообщений: 317
07.03.2010, 18:49  [ТС] #3
просто необычный синтаксис.. нигде в книгах не встречал такова
0
al072
15 / 15 / 0
Регистрация: 03.02.2010
Сообщений: 133
07.03.2010, 18:53 #4
Цитата Сообщение от Krist_ALL Посмотреть сообщение
просто необычный синтаксис.. нигде в книгах не встречал такова
На само деле он совершенно обычный, ну для примера в книжке хортона по с++, есть пример по этому поводу..
1
kursant
1 / 1 / 0
Регистрация: 31.01.2010
Сообщений: 61
07.03.2010, 19:05 #5
Есть ещё одна хорошая книга по C++ автор Шилдт Справочник почитай советую!
0
M128K145
Эксперт С++
8308 / 3528 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
07.03.2010, 19:10 #6
Krist_ALL, на самом деле если подумать то .getline и >> - несут одинаковый смысл.
cin.getline - обращение к методу getline класса cin.
>> - операция обращения к(чтение в) потоку ввода класса cin
0
Monte-Cristo
2794 / 1380 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
08.03.2010, 11:19 #7
Цитата Сообщение от Krist_ALL Посмотреть сообщение
просто необычный синтаксис.. нигде в книгах не встречал такова
плохие книги читал...


Цитата Сообщение от M128K145 Посмотреть сообщение
Krist_ALL, на самом деле если подумать то .getline и >> - несут одинаковый смысл.
Только, getline записывает в строку n-количество символов (включая пробелы), а потоковое операцией вставки - записываются символы до пробела.
1
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,344
Завершенные тесты: 1
08.03.2010, 13:20 #8
">>" записывает до первого пробела
а cin.getline() всю строку
0
Sasuke
1 / 1 / 0
Регистрация: 09.10.2009
Сообщений: 89
08.03.2010, 13:56 #9
Krist_ALL, может быть вопрос уже исчерпан, но всё-таки напишу...
Одна весьма важная вещь: указывая количество символов LINE_SIZE, вводимых в ту или иную строку, в данном примере, это а, нужно указывать на единицу меньше, ибо в строку будет помещаться нуль-терминатор '\0'.))

C++
1
2
char mas[20];
cin.getline(mas,19);
0
Monte-Cristo
2794 / 1380 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
08.03.2010, 14:17 #10
Sasuke, ничего подобного. Число в getline включает в себя учет '\0'.
Тобишь надо ставить 20

вот пример:

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <cstring>
using namespace std;
 
int main()
{
    char str[5];
    cin.getline(str, 5);
    cout << str;
    return 0;
}
введи 5 символов и у тебя строка отрубится. выведится 4 символа и '\0'.
0
Sasuke
1 / 1 / 0
Регистрация: 09.10.2009
Сообщений: 89
08.03.2010, 15:10 #11
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
выведится 4 символа и '\0'.
И смысл писать (str, 5)? Если строку "обрезает", не целесообразно вообще вводить 5 символов.. Это моё мнение..)
0
M128K145
08.03.2010, 15:53     Вопрос по cin с точкой
  #12

Не по теме:

Цитата Сообщение от Monte-Cristo Посмотреть сообщение
getline записывает в строку n-количество символов (включая пробелы), а потоковое операцией вставки - записываются символы до пробела.
Речь шла о смысле записи, а не действии которое она выполняет, ведь их смысл - обращение к содержимому cout

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2010, 15:53
Привет! Вот еще темы с ответами:

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

Для чего в код вводится cin.ignore после того, как cin>> уже сработало? - C++
Доброго времени суток! Просматриваю простой код. Вводится строка типа string: фунты и дюймы Затем значения переводится в типы int и...

Объект cin и его метод cin.get() - C++
Вот код программы: #include &lt;iostream.h&gt; #pragma hdrstop ...

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


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

Или воспользуйтесь поиском по форуму:
12
08.03.2010, 15:53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.