C ++, как получить пользовательский ввод с помощью выражения? - PullRequest
0 голосов
/ 19 сентября 2018

Очевидно, что это не вопрос о том, как использовать cin, scanf или getline.

Все эти методы получения пользовательских данных не возвращают что-либо, они изменяют переменную.

То, что я хочу сделать, это дать способ получить ввод и вернуть его, чтобы получение ввода могло быть встроено в выражение.

Извините, если я не очень хорошо объясняю это.Но, например, в Python у вас есть функция input(), которая берет одну строку текста из stdin и возвращает ее в виде строки, чтобы вы могли сделать:

print( int(input()) + 5 )

Это принимает пользовательский ввод, возвращает его, затемон анализируется непосредственно в int и обрабатывается без необходимости в дополнительной переменной.Я тоже хочу что-то подобное в C ++.

Очевидно, я могу создать функцию, которая делает это, но я спрашиваю о любом способе сделать это, используя только стандартную библиотеку.

1 Ответ

0 голосов
/ 20 сентября 2018

Это вряд ли обременительно.Что не так с этим (если вам нравятся классические API-интерфейсы)?Объявите это встроенным, если вы хотите поместить его в заголовочный файл:

int get_int ()
{
    char buf [80];
    fgets (buf, sizeof (buf), stdin);
    return atoi (buf);
}

Вы можете сделать нечто подобное, используя API C ++ (упражнение для читателя).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...