Я хочу прочитать список слов из файла, в котором по одному слову в строке. Каждое слово должно содержать до 4 символов. Как я могу выдать ошибку, если одна из строк длиннее этой?
Я пытался читать слова, используя fgets
char buf[5];
fgets(buf, 5, stdin);
и со сканф
char buf[5];
scanf("%4s", &buf);
но в обоих случаях он разбивает длинные строки на более мелкие. Например, qwerasdf
читается как два слова, qwer
и asdf
. Есть ли способ обнаружить, что он пытался прочитать длинную строку с более чем 4 символами и вместо этого выдал ошибку?
Единственная альтернатива, о которой я могу думать, - это читать ввод посимвольно и позаботиться обо всем самостоятельно. Но есть ли более простое решение с использованием функций из стандартной библиотеки?
fgets
. - person Jongware   schedule 14.04.2020