Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в программирование на С.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
930.82 Кб
Скачать

Int feof(file *);

функция feof() возвращает ненулевое значение в том и только в том случае, если индикатор конца файла для этого потока показывает конец файла.

8.2 Работа с текстовым файлом

Для работы с текстовым файлом наиболее часто используются следующие функции:

Int fprintf(file *, const char format, …);

Функция fprintf() выводит данные в файл на который указывает заданный указатель FILE *; const char format задает способ преобразование заданных аргументов при выводе. Функция fprinf() заканчивает свою работу, как только достигает символа конца файла.

Пример:

int x;

FILE *k;

k=fopen(“aaa.bbb”,”w”);

if(!k)

{

printf(“Открытие файла невозможно!!!!\n”);

return;

}

scanf(“%d ”,&x);

fprintf(k,”%d”,x); т.е. целое число записанное в х преобразовать в символ и записать в файл на который указывает k,

fclose(k);

Пример создания последовательного файла:

Записываем в текстовый файл номер имя и баланс клиента. Ввод данных прекращается, когда введем сочетание клавиш <Ctrl+z>, что в системе IBM PC означает конец файла, т.е. EOF.

#include<stdio.h>

Void main()

{

Int account;

char name[30];

double balance;

FILE *cfPtr;

if((cfPtr=fopen("clients.dat","w"))== NULL)

{

printf("File could not be opened\n");

return;

}

printf("Enter the account, name and balance.\n");

printf("Enter EOF to end input.\n");// в системе IBM PC EOF–это сочетание клавиш <ctrl+z>

printf("? ");

scanf("%d%s%lf",&account,name,&balance);

while(!feof(stdin))

{

fprintf(cfPtr,"%d %s %.2lf\n",account,name,balance);

printf("? ");

scanf("%d%s%lf",&account,name,&balance);

}

fclose(cfPtr);

}

Int fputs(const char *, file *);

Возвращает положительное число, а если произошла ошибка, то возвращает EOF. Функция fputs() выводит строку, которая задается const char без символа конец строки в файл на который указывает указатель заданный FILE *.

Пример:

char s[100];

FILE *k;

k=fopen(“aaa.bbb”,”w”);

if(!k)

{

printf(“Открытие файла невозможно!!!!\n”);

return;

}

gets(s);

fputs(s,k); т.е. строка s записывается в файл на который указывает k,

fclose(k);

Int fscanf( file *, const char *format, …..);

Функция fscanf() вводит данные из файла, на который указывает заданный указатель FILE *; const char format задает способ преобразование заданных аргументов при выводе. Функция fprinf() заканчивает свою работу, как только достигает символа конца файла. Возвращает положительное число, а если произошла ошибка, то возвращает EOF.

int x;

FILE *k;

k=fopen(“aaa.bbb”,”r”);

if(!k)

{

printf(“Открытие файла невозможно!!!!\n”);

return;

}

fscanf(k,”%d”,&x); т.е. преобразовать символ из файл на который указывает k в целое число и записанное в х

fclose(k);

Программа, которая считывает числа с заранее созданного файла.

#include<stdio.h>

Void main()

{

FILE *k;

int x;

k=fopen("aaa.bbb","r");

if(!k)

{

printf("\a\a\a\n");

return;

}

fscanf(k,"%d",&x);

while(!feof(k))

{

printf("%d ",x);

fscanf(k,"%d",&x);

}

fclose(k);

}

Чтение и распечатка последовательного файла

Программа, которая считывает данные из заранее созданного файла.

#include<stdio.h>