Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2013, 17:03   #1
yakobz
 
Регистрация: 15.07.2013
Сообщений: 5
По умолчанию C++ вопрос по поводу функции gets ()

Я только учусь, поэтому строго не судите) У меня такой вопрос:
Код:
#include <iostream>
#include <cstdio>

int main()
{
     int a;
     char p[80];

     std::cin>>a;
     gets (p);

     return 0;
}
Почему после выполнения инструкции std::cin>>a не выполняется функция gets()?

Последний раз редактировалось Stilet; 15.07.2013 в 20:47.
yakobz вне форума Ответить с цитированием
Старый 15.07.2013, 17:19   #2
dima1257
Пользователь
 
Аватар для dima1257
 
Регистрация: 16.11.2012
Сообщений: 66
По умолчанию

Вот так например всё работает.
если ввести 12asd, то программа считает 12 в целочисленную переменную а всё остальное из потока поместит в p[80] и выведет.


Код:
#include <iostream>
#include <cstdio>
#include <conio.h>

int main()
{
	int a;
	char p[80];

	std::cin>>a;
	gets (p);
	std::cout << p;
	
	getch();
	return 0;
}
Выдержка из правил форума: Не стоит отправлять в поиск, не хотите отвечать пройдите мимо. Хотите помочь, пишите конкретный ответ.

Последний раз редактировалось dima1257; 15.07.2013 в 17:31.
dima1257 вне форума Ответить с цитированием
Старый 15.07.2013, 17:29   #3
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

Потому что после первого вызова cin>> входной поток остается не пустой. Нужно его сбросить например так :
Код:
int main()
{
int a;
char p[80];

std::cin>>a;
cin.sync();
gets (p);

return 0;
}
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 15.07.2013, 17:34   #4
yakobz
 
Регистрация: 15.07.2013
Сообщений: 5
По умолчанию

Helloween, спасибо, теперь понял))
yakobz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по поводу макроса Santosh Microsoft Office Access 6 18.10.2012 21:11
Вопрос по поводу парсера Haheedens Помощь студентам 0 04.08.2012 14:08
Вопрос по поводу граббинга. egorzenit Общие вопросы Delphi 1 13.04.2012 02:11
Вопрос по поводу регионов Malkovich Win Api 3 12.09.2009 10:25