Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по С Живицкая (Мет пособие).doc
Скачиваний:
112
Добавлен:
15.06.2014
Размер:
2.11 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

Подобны функциям scaf и 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+") ) = =

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

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 – это константы, а не переменные и им нельзя что-либо присваивать.