Как использовать функцию fgets () в C

Функция fgets () в C считывает до n символов из потока (поток файлов или стандартный поток ввода) в строку str . Функция fgets () продолжает считывать символы до тех пор, пока:

  • (n-1) символы не будут был прочитан из потока.
  • обнаружен символ новой строки.
  • достигнут конец файла (EOF).

fgets завершается символом новой строки, но добавляет его в конец строки str . Функция также добавляет завершающий нулевой символ в конце переданной строки.

Синтаксис

  char * fgets (char  * str, int n, FILE * stream);  
  • Аргументы
    • char * str : указатель на инициализированную строку, в которой копируются символы.
    • int n : количество символов для копирования.
    • FILE * stream : указатель на файловый поток, его можно заменить на stdin при чтении со стандартного ввода.
  • Тип возврата : при успешном чтении возвращается указатель на str . Если произошла ошибка или символ конца файла обнаружен до того, как можно было прочитать какое-либо содержимое, возвращается указатель NULL .

Примеры

fgets безопасно использовать по сравнению с gets , поскольку он проверяет массив символов str границы. gets продолжает считывать символы от пользователей, пока не встретится символ новой строки.

main.c
file.txt
 #include  int main () {char str [20];  fgets (str, 20, stdin); //читать из stdin put (str); //выводим прочитанное содержимое на стандартный вывод//открываем файл FILE * f = fopen ("file.txt", "r"); //если произошла ошибка if (f == NULL) {perror ("Ошибка открытия файла"); //ошибка печати return (-1);  }//если ошибки не было else {fgets (str, 20, f); //читать из файла put (str); //выводим прочитанное содержимое на стандартный вывод} fclose (f); //закрываем файл return (0);} 

Оцените статью
nanomode.ru
Добавить комментарий