Функции библиотеки C -fgets()
Стандартная библиотека C - <stdio.h>
Описание
Функции библиотеки Cchar *fgets(char *str, int n, FILE *stream)Считывает строку из указанного потока и сохраняет её вstrв строке, на которую он указывает. При чтении(n-1)Когда прочитано n символов, или встречен символ новой строки, или достигнут конец файла, функция останавливается, в зависимости от того, что наступит раньше.
Объявление
Ниже приведено объявление функции fgets().
char *fgets(char *str, int n, FILE *stream)
Параметр
- str-- Это указатель на массив символов, в котором хранится строка для чтения.
- n-- Это максимальное число символов для чтения (включая завершающий нулевой символ). Обычно используется длина массива, передаваемого как str.
- stream-- Это указатель на объект FILE, который идентифицирует поток, из которого должны считываться символы.
Возвращаемое значение
В случае успеха функция возвращает тот же параметр str. Если достигнут конец файла или не было прочитано ни одного символа, содержимое str остаётся неизменным и возвращается нулевой указатель.
Если возникает ошибка, возвращается нулевой указатель.
Пример
В следующем примере демонстрируется использование функции fgets().
Пример
int main()
{
FILE *fp;
char str[60];
/* Открыть файл для чтения */
fp = fopen("file.txt" , "r");
if(fp == NULL) {
perror("Ошибка файла");
return(-1);
}
if( fgets (str, 60, fp)!=NULL ) {
/* Записать содержимое в стандартный вывод stdout */
puts(str);
}
fclose(fp);
return(0);
}
Предположим, у нас есть текстовый файлfile.txt, содержимое которого выглядит следующим образом. Этот файл будет использоваться в качестве входных данных в примере:
We are in 2014
Давайте скомпилируем и запустим приведённую выше программу, которая выдаст следующий результат:
We are in 2014Другие расширения