Почему при получении большого ввода от stdin с помощью getline урезать мой ввод? - PullRequest
0 голосов
/ 21 января 2020

Я пытался получить вход от стандартного ввода в cpp.

Мой вход содержит 1000 чисел (максимальный размер каждого числа <= 10 ^ 9). Проблема заключается в том, что когда я копирую / вставляю числа из источника в мой терминал, не все числа отображаются в терминале, и из-за этого мой код выдает неправильный вывод. </p>

Вот снимок экрана мой терминал:

image

Я беру ввод с getline() и сохраняю его в строковом буфере.

Почему моя командная строка усекать мой ввод?

1 Ответ

3 голосов
/ 21 января 2020

На скриншоте видно, что вы используете командную строку Windows. У них предел строки 8191 :

В командной строке общая длина следующей командной строки, которую вы используете в командной строке, не может превышать 2047 или 8191. символы (в зависимости от вашей операционной системы):

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

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