Открытие файла fopen()

Функцией управляют три параметра.

FILE *in; //указатель потока

Для связывания указателя с файлом служит функция открытия файла fopen(), которая объявлена в заголовочном файле <stdio.h>.

in = fopen("test", "r");

1 параметр - имя открываемого файла

2 параметр -

"r"-по чтению "r+"-чтение и запись

"w"-по записи "w+"-запись и чтение, если файл уже был, он перезаписываетя

"a"-дозапись "a+"-чтение и дозапись, если файла еще не было, он создается

"b"-двоичный файл

"t"-текстовый файл

in является указателем на файл "test". Теперь будем обращаться к файлу через этот указатель.

Если файл не был открыт (его нет, нет места на диске), то возвращается в указатель 0.

if((in=fopen("test", "r"))==0)

puts("Ошибка открытия файла");

Можно по другому

in=fopen("test", "r");

if (!in)

puts("Ошибка открытия файла");

Закрытие файла fclose()

fclose(FILE *stream); //Если файл закрыт успешно, то возвращается 0 иначе -1.

Функции ввода/вывода одного символа fgetc(), fputc()

1. Чтение из файла посимвольно

int fgetc(FILE *stream);

2. Запись в файл посимвольно

int fputc(int c, FILE *stream);

Код этого же символа и возвращается.

ch=fgetc(in);

fputc(ch,out);

# include <stadio.h>

void main(void){

FILE *in,*out;

char ch;

if((in=fopen("prog1", "r"))==0)

fputs("Ошибка открытия prog1");

if((out=fopen("prog2", "w"))==0)

fputs("Ошибка открытия prog2);

while((ch=getc(in))!=EOF) //”End Оf File” константа определенная в dos.h

fputc(ch, out);

fclose(in);

fclose(out);

}

Функции форматированного ввода/вывода в файл

1. Форматированный вывод в текстовый файл

int fprintf(FILE *stream,”управл.cтрока”,arg1,…)

Возвращает количество записанных байтов.

2. Форматированный ввод из текстового файла

int fscanf(FILE *stream,”управл.cтрока”,&arg1,…)

Возвращает количество прочитанных байтов.

# include<stadio.h>

void main(void){

FILE*in;

int age;

in=fopen("prog1", "r");

fscanf(in,"%d",&age);

fclose(in);

in=fopen("prog2", "w");

fprintf(in,"число %d\n",age);

fclose(in);

}

Модификаторы и спецификаторы, те же, что и в printf().


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: