Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 30

Getline, getchar

03.03.2016, 17:41. Показов 2646. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, как я поняла getline это шаблон функции, который построчно извлекает строки из выходного потока, но что делается здесь конкретно? В особенности не могу понять это выражение (c != (int)'\n');
, получается что с не равно чему? Целочисленному значению? И что означает c = getchar();
А так же вы не могли бы дать более просто понятие, ну чтоб даже совсем чайник понял, что означают эти строки - putchar((int)'\n'); fflush(stdin);
C++
1
2
3
4
5
6
7
8
9
10
11
void getline(char *str, int lim)
{
    int c, i;
    c = 1;
    for (i = 0; (i<lim - 1) && (c != (int)'\n'); i++)
    {
        c = getchar();
        str[i] = c;
    }
    str[i] = '\0';
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.03.2016, 17:41
Ответы с готовыми решениями:

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

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

Getline() "съедает" следующий getline()
Всем привет! Пишу небольшое консольное приложение. Идея такова: в карточке пользователя библиотеки храниться информация о книгах. Вот...

1
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
03.03.2016, 17:58
Цитата Сообщение от Mozgi Посмотреть сообщение
как я поняла getline это шаблон функции, который построчно извлекает строки из выходного потока,
Из входного (в код).

Добавлено через 1 минуту
Цитата Сообщение от Mozgi Посмотреть сообщение
В особенности не могу понять это выражение (c != (int)'\n');
Значение c сравнивается с кодом символа новой строки (10), который попадает в поток ввода при нажатии Enter, поэтому оказывается последним в очереди ввода.

Добавлено через 3 минуты
Цитата Сообщение от Mozgi Посмотреть сообщение
И что означает c = getchar();
Из потока ввода извлекается символ, код которого присваивается с.

Добавлено через 2 минуты
Цитата Сообщение от Mozgi Посмотреть сообщение
putchar((int)'\n');
Поместить, в поток вывода, код символа новой строки.
Цитата Сообщение от Mozgi Посмотреть сообщение
fflush(stdin);
Очистить буфер ввода стандартного потока ввода. Вообще-то, fflush() - это для потока вывода.

Добавлено через 3 минуты
И вообще, это не С++, а Си.

Добавлено через 1 минуту
С такими вопросами - туда: https://www.cyberforum.ru/c-beginners/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.03.2016, 17:58
Помогаю со студенческими работами здесь

getchar
Не пойму почему getchar 2-ой раз запрашивает ввести строку, я же написал в цикле условие, что выполняется, если ch!=10 char ch=0; for...

getchar ()
a = getchar (); if ( a == 'q' ) // действие 1 a = getchar (); if ( a == 'w' ) // действие 2 Почему не работает такая...

EOF и getchar
Добрый вечер, у меня есть следующий код: #include &lt;locale.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;ctype.h&gt; ...

Функция getchar!
Здравствуйте, поясните на пальцах, что делает данная программа? #include &lt;stdio.h&gt; int main(void) { char ch; ...

[C++] аналог getchar()
привет ВСЕМ, ЗАДАЧА: Найти периметр и площадь равнобедренной трапеции с основаниями a и b (a &gt; b) и углом alpha при большем...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru