Прототип функции для fgetc()на языке программирования C:
int fgetc(FILE *stream);
Функция fgetc()используется для чтения одного символа из файла. В качестве аргумента он принимает указатель на объект FILE, который представляет файл для чтения. Функция возвращает символ, прочитанный как значение intили EOF(конец файла), если достигнут конец файла или произошла ошибка.р>
Теперь давайте углубимся в различные способы использования fgetc()с примерами кода:
Метод 1. Чтение символов из файла до достижения конца
#include <stdio.h>
int main() {
FILE *file;
int character;
file = fopen("myfile.txt", "r");
if (file == NULL) {
printf("Failed to open the file.\n");
return 1;
}
while ((character = fgetc(file)) != EOF) {
printf("%c", character);
}
fclose(file);
return 0;
}
Этот фрагмент кода открывает файл с именем myfile.txtв режиме чтения и считывает из него символы до тех пор, пока не будет достигнут конец файла. Затем каждый символ выводится на консоль.
Метод 2. Чтение символов со стандартного ввода (клавиатура)
#include <stdio.h>
int main() {
int character;
printf("Enter characters (press Ctrl + D to stop):\n");
while ((character = fgetc(stdin)) != EOF) {
printf("%c", character);
}
return 0;
}
В этом примере программа считывает символы со стандартного ввода (клавиатуры) до тех пор, пока пользователь не сигнализирует об окончании ввода, нажав Ctrl + D (в Unix-подобных системах) или Ctrl + Z (в Windows).
Метод 3. Чтение символов из строки
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
int character;
size_t i;
for (i = 0; i < strlen(str); i++) {
character = fgetc(str);
printf("%c", character);
}
return 0;
}
Здесь программа считывает символы из строки, завершающейся нулем (str), пока не будет достигнут конец строки. Затем каждый символ выводится на консоль.
Метод 4. Чтение символов из URL-адреса с помощью библиотеки curl
#include <stdio.h>
#include <curl/curl.h>
size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata) {
FILE *file = (FILE *)userdata;
return fwrite(ptr, size, nmemb, file);
}
int main() {
CURL *curl;
FILE *file;
int character;
file = fopen("output.txt", "w");
if (file == NULL) {
printf("Failed to create the output file.\n");
return 1;
}
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, file);
curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
rewind(file); // Reset the file position indicator to the beginning
while ((character = fgetc(file)) != EOF) {
printf("%c", character);
}
fclose(file);
return 0;
}
В этом примере показано чтение символов из URL-адреса с использованием библиотеки curl. Программа загружает содержимое веб-страницы по адресу « https://example.com » и сохраняет его в файл с именем «output.txt». Позже он считывает символы из файла и выводит их на консоль.
Это охватывает несколько методов использования функции fgetc()в C. Каждый метод позволяет вам читать символы из разных источников, таких как файлы, стандартный ввод, строки или URL-адреса. Вы можете выбрать метод, который соответствует вашим конкретным потребностям.