stdin ограничен в длине?

Там какие-либо stdin являются входными ограничениями длины (в количестве скорости ввода или скорости ввода)?

6
задан Michael Petrotta 12 March 2010 в 02:50
поделиться

6 ответов

Возможно, это зависит от драйвера stdin!

stdin (как концепция) не имеет ограничений.

Я ожидаю, что разработчики ядра (любых систем) сделали некоторый выбор дизайна, который добавляет ограничения.

1
ответ дан 9 December 2019 в 20:42
поделиться

Есть ограничения в скорость перевода. В общем, они примерно такие же, как и любой канал "UNIX". Большинство операционных систем предлагают более эффективные механизмы, но каналы работают довольно быстро ... при условии, что вы не используете printf и подобные.

0
ответ дан 9 December 2019 в 20:42
поделиться

Согласно другому любимому сайту вопросов и ответов :

Не должно быть ограничений на размер потока (будь то стандартный ввод или другой). Однако вы, возможно, захотите проверить, где вы храните эти символы ... Достаточно ли места для хранения их всех?

Попробуйте ввести такой код (без сохранения!):

for (;;) {
    int c = getc(stdin);
    if (c == EOF) { break; }
    putc(c, stdout);
}

и посмотрите, есть ли в нем то же самое. ограничение.

2
ответ дан 9 December 2019 в 20:42
поделиться

Попробуйте:

Команда yes unix выводит строки y бесконечно. Передайте его программе на C, которая просто читает стандартный ввод и помещает его в стандартный вывод (например, cat , но tr 'y' 'y' также работает). Подождите, пока cat не выйдет из строя или ваше терпение не достигнет предела:

yes | cat

Что касается фактора скорости, ограничения определяются не языком или ОС, а оборудованием (ЦП, ОЗУ, жесткий диск, SATA, сеть,. ..)

1
ответ дан 9 December 2019 в 20:42
поделиться

Нет . stdin не имеет ограничений по длине или скорости.

Если вы хотите получить гигабайты данных через stdin , вы можете это сделать, и ваш компьютер предоставит их как можно быстрее.

7
ответ дан 9 December 2019 в 20:42
поделиться

Нет никаких ограничений на длину stdin. Если вы не можете принимать большие объемы данных, то это ваш код создает проблемы.

1
ответ дан 9 December 2019 в 20:42
поделиться