Чтение Чисел С Stdin

  • Автор темы Автор темы Stashevckiy
  • Дата начала Дата начала
S

Stashevckiy

Ребята, подскажите, каким образом считать неопределенное количество чисел с stdin? Т.е., пользователь вводит числа через пробел, но их количество ничем не задано.
 
std::cin перейдет в состояние eof когда числа кончатся?
scanf() возвращает отрицательное число иногда - это тот случай?
если scanf не справится - бери fscanf, но вместо файла передавай stdin и жди когда установится флаг feof
 
std::cin перейдет в состояние eof когда числа кончатся?
scanf() возвращает отрицательное число иногда - это тот случай?
если scanf не справится - бери fscanf, но вместо файла передавай stdin и жди когда установится флаг feof

первое - нет, не перейдет
второе - тоже нет.
третье - а вот это уже интересно, попробую этот способ

Спасибо!
 
Ну если не получится - читай строку, и разбирай на числа )
 
Ну если не получится - читай строку, и разбирай на числа )

та я вот это как раз очень боюсь, так как быстродействие очень сильно упадёт, поскольку ввод может содержать очень много чисел...
 
Пробывал вот таким способом - не помогло...После нажатия на Enter все равно ожидает каких-либо данных.
Данные имеют такую форму:54 65 7 8 5 3 6 7 86. Но количество чисел, как я говорил раньше, может быть другим.

C++:
  int d;
int size;
while( ( d = fscanf(stdin, "%d", &size)) != EOF )
{
printf("\n%d", size);
}
 
Stashevckiy

не совсем поянтно было чего ты хочешь. Теперь вроде бы понял.

Но ответ был выше.
Читай строку и разбирай ее на числа.

что то типа gets + sscanf

Ну или, читай строку, пиши ее в stringstream и читай оттуда пока он не кончится.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab