Информатика -продвинутый курс


ФУНКЦИИ ВВОДA-ВЫВОДА - часть 4


fp является указателем файла типа FILE, который возвращается функцией fopen(). В тех случаях, когда достигается конец файла, функция getc() возвращает маркер его конца EOF. Например, для чтения текстового файла до маркера конца файла можно использовать следующие операторы:

ch = setc(fp);

while(ch!=EOF)

{

ch = getc(fp);

}

 

Функция feof() использует аргумент указателя-файла и возвращает 1, если достигнут конец файла, или 0, если не достигнут. Например, приведенная ниже программа читает двоичный файл до тех пор, пока ЭВМ не встречает маркер конца файла:

 

while(!feof(fp)) ch = getc(fp);

Функцию fdose() используют для закрытия потока, который был открыт с помощью функции foреn(). Все потоки необходимо закрыть перед завершением программы. Аргументом функции является указатель файла, который закрывается.

Функции foреn(), getc(), putc() и fdose() составляют минимальный набор функций ввода-вывода. Простым примером использования функций putc(), foреn() и fdose() является программа, которая приведена ниже. Эта программа просто читает символы с клавиатуры и записывает иx в дисковый файл до тех пор, пока не введен знак $. Имя выходного файла задается из командной строки. Например, если вы назовете программу ktod («клавиша - на диск»), то набор на клавиатуре ktod test будет позволять вам вводить строки текста в файл с именем test.

 

Программа 108

#include

.h"

main(argc,argv)                      /*ktod

- клавиша на диск */

int argc;

char *argv[];

(

FILE *fp;

char ch;

if(argc!=2)

{

printf("Bы забыли ввести имя файла\n);

exit(l);

)

if((fp=fopen(argv[l], "w"))== NULL)

(

printf("He может открыть файл\n);

exit(l);

}

do

(

ch = getchar();

putc(ch, fp);

)

while (ch!='s');

fclose (fp) ;

}

Еще одним примером является программа dtos, которая будет читать любой ASCII файл и выводить его содержимое на экран.

 

Программа 109

#include "studio.h"

main (argc, argv)         /*dtos-wicK на экран*/




Начало  Назад  Вперед