Примеры использования функции fgets в языке программирования Си
fgets в языке программирования C используется для чтения строк из файла или стандартного ввода. Функция fgets() позволяет читать строку из указанного источника данных, сохраняя ее в буфер.
Прототип функции fgets() выглядит следующим образом:
char* fgets(char* str, int num, FILE* stream);
Где:
str- указатель на массив символов, в котором будет сохраняться прочитанная строка;num- максимальное количество символов, которое может быть прочитано, включая символы новой строки и завершающий нулевой символ;stream- указатель наFILE, из которого происходит чтение (например,stdinдля стандартного ввода или файловый указатель для чтения из файла).
Функция fgets() читает символы из указанного потока до тех пор, пока не достигнет символа новой строки (\n), максимальное количество символов (num-1) или достигнет конца файла. После чтения строки, функция fgets() добавляет в буфер символ новой строки и завершающий нулевой символ ('\0').
Пример использования функции fgets() для чтения строки из стандартного ввода:
<code>
#include <stdio.h>
int main() {
char str[100];
printf("Введите строку: ");
fgets(str, sizeof(str), stdin);
printf("Вы ввели: %s", str);
return 0;
}
</code>
В этом примере сначала объявляется массив символов str размером 100, в который будет сохраняться введенная строка. Затем пользователю выводится приглашение для ввода строки. Функция fgets() используется для чтения строки из стандартного ввода (stdin) и сохранения ее в массив str. Функция printf() используется для вывода введенной строки на экран.
Можно также использовать функцию fgets() для чтения строк из файла. Для этого нужно открыть файл с помощью функции fopen() и передать указатель на файл вместо stdin. Пример такого использования:
<code>
#include <stdio.h>
int main() {
FILE *file;
char str[100];
file = fopen("file.txt", "r");
if (file == NULL) {
printf("Ошибка при открытии файла.\n");
return -1;
}
fgets(str, sizeof(str), file);
printf("Прочитанная строка: %s", str);
fclose(file);
return 0;
}
</code>
В этом примере сначала открывается файл file.txt в режиме чтения ("r") с помощью функции fopen(). Далее проверяется, удалось ли открыть файл. Если в файле произошла ошибка открытия, программа выводит сообщение об ошибке и завершается. Затем функция fgets() используется для чтения строки из файла и сохранения ее в массив str. В конце файла закрывается с помощью функции fclose().
В данном развернутом ответе я рассмотрел основы использования функции fgets() в языке программирования C для чтения строк из стандартного ввода и из файла. Приведены примеры кода, которые демонстрируют использование функции fgets(). Это лишь небольшой обзор возможностей функции fgets(), и ее использование может быть расширено и адаптировано в зависимости от конкретных требований и задач программы.