Как считать из stdin текст, пока не будет нажато Ctrl+D - C (СИ)

Узнай цену своей работы

Формулировка задачи:

как считать из stdin текст, пока не будет нажато Ctrl+D?

Решение задачи: «Как считать из stdin текст, пока не будет нажато Ctrl+D»

textual
Листинг программы
  char buffer[4096];
 
  // fgets вернет NULL при ошибке или eof.
  while (fgets(buffer, 4096, stdin) != NULL) {
    // Ввод находится в buffer, вместе с символом переноса строки
    // можно, например, избавиться от символа переноса
    buffer[strlen(buffer) - 1] = '\0';
    printf("%s\n", buffer);
  }
 
  // проверить на ошибку
  if (ferror(stdin))
    printf("An error has occured");

Объяснение кода листинга программы

  1. Объявлена переменная buffer типа char с размером в 4096 байт.
  2. Задана инструкция while, которая будет выполняться до тех пор, пока fgets не вернет NULL.
  3. В условии while происходит сравнение результата fgets с NULL.
  4. В теле цикла while находится введенный текст, включая символ новой строки.
  5. В конце программы выводится сообщение об ошибке, если была допущена ошибка ввода.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы