Прототип функции getc:
int getc ( FILE * filestream );
Заголовочный файл
| Название | Язык |
|---|---|
| stdio.h | С |
| cstdio | С++ |
Описание
Функция возвращает символ из потока filestream, на который ссылается внутренний индикатор позиции файла. Внутренний индикатор позиции в файле, после срабатывания этой функции сдвигается на один символ, таким образом, теперь он указывает на следующий символ.
Функция getc эквивалентна функции fgetc и также принимает поток через параметр, но getc может быть определена как макрос, поэтому, передаваемый ей аргумент, не должен быть выражением.
Смотреть подобную функцию, без параметров — getchar.
Параметры:
- filestream
Указатель на объект типаFILE, который идентифицирует поток, для выполнения с ним различных операций.
Возвращаемое значение
Считанный символ возвращается в виде целого значения.
Если конец файла достигнут или в процессе чтения происходит ошибка, функция возвращает EOF и соответствующие индикаторы ошибки или конца файла устанавливаются. Вы можете использовать любую функцию ferror или feof чтобы определить, произошла ошибка или был достигнут конец файла.
Пример: исходный код программы
//пример использования функции getc
#include <iostream>
#include <cstdio>
int main ()
{
FILE * ptrFile = fopen("file.txt","r");
int c;
int counter = 0;
if (ptrFile == NULL) perror ("Ошибка открытия файлаn");
else
{
do
{
c = getc(ptrFile);
if (c == '$') counter++;
} while (c != EOF); // пока не конец файла
fclose (ptrFile);
std::cout << "Файл содержит " << counter << " знаков доллараn";
}
return 0;
}
Пример работы программы
Эта программа читает существующий файл с именем file.txt посимвольно и использует переменную n для подсчета символ доллара ($), которые содержит файл.
Комментарии