Работа с файлами в языке Си с помощью функции fgets c
Функция fgets() входит в стандартную библиотеку языка Си и используется для считывания строк из файла или потока ввода (например, stdin). Синтаксис функции следующий:
char *fgets(char *str, int n, FILE *stream);
Аргументы функции:
- str - указатель на массив символов, в который будет записываться считанная строка.
- n - максимальное количество символов, которое может быть прочитано (включая символ новой строки и нулевой символ).
- stream - указатель на файл или поток ввода, из которого будет считываться строка.
Функция fgets() считывает строку до тех пор, пока не будет достигнут конец файла или пока не будет считано n-1 символов (символ новой строки включается в эту длину). Если считанная строка не содержит символ новой строки ('\n') и было считано n-1 символов, то функция не добавляет нулевой символ в конец строки. Это может привести к проблемам, поэтому рекомендуется использовать fgets() в сочетании с функцией strlen().
Пример использования функции fgets():
c
#include
#include
int main() {
char str[100];
printf("Введите строку: ");
fgets(str, sizeof(str), stdin);
// Удаляем символ новой строки
size_t len = strlen(str);
if (len > 0 && str[len-1] == '\n') {
str[--len] = '\0';
}
printf("Вы ввели: %s\n", str);
return 0;
}
В этом примере пользователь вводит строку с помощью функции fgets(), которая записывает строку в массив символов str. Затем мы удаляем символ новой строки, если он был считан, и выводим строку на экран. Если бы мы не удалили символ новой строки, то на экране бы отображался лишний пробел в строке.