1. Функция чтения символа из файла fgetc. Функция fgetc читает один символ из вводного потока/
#inc | lude | <stdio | .h> |
int | fgetc(f); | ||
FILE | *f; |
Возвращаемое значение:
1) код прочитанного символа;
2) EOF, если конец файла или ошибка.
2. Функция записи символа в файл fputc. Функция fputc записывает одиночный символ, имеющий код с, в поток / Это аналог функции putchar для работы с файлами.
#inc | lude | <stdio | .h> |
int | fputs(c,f); | ||
int | c; | ||
FILE | *f; |
Возвращаемое значение:
1) код записанного символа;
2) EOF, если встретился конец файла или произошла ошибка.
Пример.Посимвольное копирование файла
#include <stdio.h> | |
main () { FILE *in, *out; | |
int c; | |
if((in=fopen("in.dat","r"))! { if((out=fopen("out.dat", { while((c=fgetc(in)) | =NULL) |
"w"))!=NULL) | |
!=EOF) | |
fputc(c,out); |
fclose(out); fclose(in);
} else
printf("He могу открыть out.dat n");
} else
printf("He могу открыть in.dat n"); }
Функции fscanf и fprintf. Действия данных функций похоже на действия функций scan/ и printf, однако эти функции работают с файлами данных, и первый аргумент функций — это указатель на файл.
3. Функция fscanf читает данные из указанного потока /, выполняя форматные преобразования, и полученные значения записывает в переменные, адреса которых задаются параметрами argument.
#include <stdio.h> | ||
int fscanf(f, format | string [,argument. | .] ) ; |
FILE *f; | ||
char ^format string; |
4. Функция fprintf выполняет формальные преобразования данных и печатает последовательность символов и значений в выводной поток/
#include <stdio.h> | ||
int fprintf(f, format string[, | argument. | .] ) ; |
FILE *f; | ||
char ^format string; |
Пример.Дано два файла S.dat и Sl.dat. Необходимо считать число типа int из файла S.dat и записать его в файл Sl.dat.
main () г | ||||||
FILE *S, | *S1; | |||||
/* S — указатель | на | файл | S.dat */ | |||
/* SI - | указатель | на | файл | SI | .dat*/ | |
int age; | ||||||
S=fopen( | "S.dat", | и -р и | ) ; | |||
Sl=fopen | ("Sl.dat" | и | a") ; |
fscanf(S, "%d", &age); | ||
fclose (S); | ||
fprintf(SI,"Пете - %d лет n", | age) ; | |
fclose (SI); | ||
} |
Функции /gets и /puts предназначены для ввода-вывода строк, они являются аналогами функций gets и puts для работы с файлами.
5. Функция чтения строки символов из файла/gets. Функция /gets читает строку из входного потока f и помещает её в строку, адрес которой задается значением параметра s. Символы читаются из потока до тех пор, пока не будет прочитан символ новой строки 'п', который включается в строку, или пока не наступит конец потока или не будет прочитано п- символов. Результат помещается в s и заканчивается нулевым символом ' '. Функция возвращает адрес строки.
#incl | ude | <std | io. h> | |||
char | *fgets (s | , n, f) ; | ||||
char | *s; | |||||
int г | v; | |||||
FILE | *f; | |||||
/* | f - | указатель | на | файл | */ |
6. Функция записи строки символов в файл /puts. Функция /puts копирует строку s в поток f с текущей позиции. Завершающий нулевой символ не копируется.
#inc | lude | <stc | lio | h> |
int | fputs | 3 (S, | f) , | |
char | *s; | |||
FILE | *f; |