Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
59
Добавлен:
11.05.2015
Размер:
2.03 Mб
Скачать

2.3.6.1.Файловый ввод и вывод информации.

Пример:

# include < stdio.h >

void main (void)

{ char str [50];

FILE * rstr, * wstr, * pstr, * astr;

rstr = fopen ("c:my – file. txt","rt");

wstr = fopen ("c:out - file .txt","wt");

pstr = fopen ("prr", "wt");

astr = fopen ("c:out – plus. txt","at");

while(fsanf (rsfr," % S ", str)! = EOF)

{ printf ("Вывод на дисплей: % S\n", str);

fprintf(wstr," % S \ n", str); /* запись файла (прежнее содержимое стирается) * /

fprintf (pstr," % S \ n", str); /* вывод файла на печать * /

fprintf (astr," % S \ n", str);/ * дополнение файла * /

}

fclose (rstr); fclose (wstr);

fclose (pstr); fclose (astr);

}

fclose (rstr); fclose (wstr);

fclose (pstr); fclose (astr);

}

2.3.6.2.Функции fsanf и fprintf

Функции fsanf и fprintf подобны функциям scanf и printf соответственно и отличаются тем, что в качестве первого дополнительного параметра используется указатель на соответствующий файл.

Функция fscanf ()осуществляет форматный вывод из файла – читает символы из файла по указателю (rstr) и интерпретирует их в соответствии с последующей форматной строкой аналогично функции scanf. Список аргументов представляет собой список адресов областей памяти, где будут храниться считанные значения.

Функция fprintf ()осуществляет форматный вывод из файла – записывает символы в файлы по указателю (wstr). Эта функция выводит символы и интерпретирует их в соответствии с последующей форматной строкой аналогично функции printf. Cписок аргументов представляет собой список переменных.

2.3.6.3.Чтение и вывод строк.

Пример:

# include < stdio.h >

void main (void)

{ char str [50];

FILE * fr, * fw;

if ( (fr = fopen (" A : faif.f", "r+") )= = NULL)

{ printf (" файл не открылся");

refurn;}

fgets (str, 49, stdin);

printf ("Вывод строки : % S", str);

printf ("Вывод строки : % S", str);

if ( (fw = fopen ("A:FILEOUT.F", "wt")) = = NULL)

{ printf ("файл не открылся");

return;}

fputs (str, sn); /* функция записывает строку из str в файл на диске А.*/

printf (stdern"Вывод в стандартный файл ошибок");

fclose (fr); fclose (fn);

}

2.3.6.4.Функция fgets( )

Эта функция осуществляет ввод строки из файла – читает символы из файла (stdin) в нашем случае и размещает их в массиве по указателю (str). Пока не будут прочитаны 48 символов, т.е. (49-1). 49 - второй параметр функции fgets или не обнаружен символ новой строки, либо конец файла. Функция помещает символ \0 в конец строки, т.е. первый параметр fgets – это индитификатор читаемой строки, второй – ее максимальная длина и третий – это указатель на соответствующий файл.

2.3.6.5. Функция fputs( )

Эта функция помещает строку в файл – записывает строку по указателю (str) в данном случае в файл определяемый указателем (fw). Строка должна иметь ограничитель \0 – ноль. Функция записывает в файл всю строку за исключением символа (\ 0). Символ конец строки не добавляется.

С начала работы любой программы автоматически открывается 3 файла и для них определяются соответствующие указатели.

1) Это файл для стандартного ввода информации с клавиатуры с указателем stdin.

2) Для стандартного вывода информации на экран дисплея с указателем stdout.

3) Для стандартного вывода ошибок на экран дисплея с указателем stderr.

Объекты stdin, stdout, stderr – это константы, а не переменные и им нельзя что-либо присваивать.