Работа с функцией fgets_c - руководство и примеры
Текстовый файловый ввод – одна из важных операций в программировании на языке C. Для чтения строк из файла в языке C можно использовать функцию fgets(). Давайте рассмотрим данную функцию подробнее и рассмотрим некоторые примеры кода.
Функция fgets() позволяет читать строки из файла, включая пробелы и символы новой строки. Ее синтаксис следующий:
char *fgets(char *str, int n, FILE *stream);
- Параметр "str" представляет собой указатель на массив символов, в который будут записываться прочитанные строки.
- Параметр "n" указывает максимальное количество символов, которое можно прочитать, включая символы новой строки и символ конца строки.
- Параметр "stream" определяет файловый указатель на открытый файл.
Функция fgets() читает строку из файла, сохраняет ее в указанный массив символов и возвращает указатель на этот массив. Если достигнут предел количества символов (n), либо символ новой строки ('\n') встречается во время чтения, чтение завершается.
Пример использования функции fgets():
#include <stdio.h>
int main() {
FILE *file;
char str[100];
file = fopen("example.txt", "r");
if (file) {
while (fgets(str, sizeof(str), file)) {
printf("%s", str);
}
fclose(file);
}
return 0;
}
В данном примере мы открываем файл "example.txt" в режиме чтения и используем цикл while с функцией fgets(), чтобы читать строки из файла и выводить их на экран.
Важно учесть, что fgets() сохраняет символ новой строки ('\n') в массиве символов, если он присутствует в файле. Если вам нужно удалить данный символ, вы можете использовать функцию strchr() вместе с функцией strncpy(), чтобы скопировать только нужное количество символов без символа новой строки.
Пример удаления символа новой строки:
#include <stdio.h>
#include <string.h>
int main() {
FILE *file;
char str[100];
char *newline;
file = fopen("example.txt", "r");
if (file) {
while (fgets(str, sizeof(str), file)) {
newline = strchr(str, '\n');
if (newline) {
*newline = '\0';
}
printf("%s\n", str);
}
fclose(file);
}
return 0;
}
В данном примере мы используем функцию strchr() для поиска символа новой строки ('\n') и функцию strncpy() + '\0', чтобы удалить найденный символ из массива символов. Затем мы выводим строку без символа новой строки на экран.
Таким образом, функция fgets() является незаменимой при работе с файлами в языке C. Она позволяет удобно читать строки из файла, сохраняя пробелы и символы новой строки. Приведенные выше примеры кода помогут вам начать использовать эту функцию в своих программах.