Функция
#include <stdio.h>
int fgetc(FILE *stream);
читает отдельный текущий символ из входного потока stream и увеличивает cсоответствующий указатель (если он есть) для указания следующего считываемого символа.
Пример:
#include<string.h>
#include<stdio.h>
#include<conio.h>
int main(void)
{
FILE *stream;
char msg[] = "Тестовый пример";
char ch;
/* создать файл для его изменения */
stream = fopen("DUMMY.FIL","w+");
/* записать в файл данные */
fwrite(msg,strlen(msg),1,stream);
/* перейти в начало файла */
fseek(stream,0,SEEK_SET);
do
{
/* ввести символ из файла */
ch = fgetc(stream);
/* вывести символ на экран */
putch(ch);
} while(ch!=EOF);
fclose(stream);
return 0;
}
Функция getc
Функция
#include <stdio.h>
int getc(FILE *stream);
читает отдельный символ из текущей позиции потока stream и изменяет соответствующий указатель на файл для указания следующего символа.
Пример:
#include <stdio.h>
int main(void)
{
char ch;
printf("Input a character:");
ch = getc(stdin);
printf("The character input was: '%c'\n", ch);
return 0;
}
Функция ungetc
Функция
#include <stdio.h>
int ungetc(int c, FILE *stream);
возвращает символ c в заданный поток ввода stream. Stream должен быть буферизованным и открытым для чтения. Последующая операция чтения из stream начинается с символа c. EOF вернуть в поток посредством использования ungetc нельзя. Эта функция возвращает значение ошибки, если из stream ничего не прочитано или если c назад не возвращен. Символы, размещаемые в потоке посредством ungetc, могут быть уничтожены, если функции fseek или rewind вызваны перед считыванием символа из stream.
|
|
Пример:
#include <stdio.h>
#include <ctype.h>
int main(void)
{
int i=0;
char ch;
puts("Input an integer followed by a char:");
while((ch = getchar())!= EOF && isdigit(ch))
i = 10 * i + ch - 48; /* convert ASCII into int value */
if (ch!= EOF)
ungetc(ch, stdin);
printf("i = %d, next char in buffer = %c\n", i, getchar());
return 0;
}
Функция fputs
Функция
#include <stdio.h>
int fputs(char * string, FILE * stream);
копирует строку, ограниченную нулевым байтом в поток stream. Она не добавляет в конец строки символ перехода на новую строку и не выводит нулевой символ.
При успешном завершении fputs возвращает последний выведенный символ. В противном случае возвращает EOF.
Пример:
#include<stdio.h>
int main(void)
{
/* вывести строку в поток */
fputs("Тестовый пример",stdout);
return 0;
}