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

Пример:

# 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);

}

Функции fsanf и fprintf

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

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

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

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

Пример:

# 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);

}

Функция fgets( )

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

Функция fputs( )

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

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

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

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

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

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

Указатели.

Указатель – это переменная, содержащая адрес. Память типичной ЭВМ представляет собой массив последовательно пронумерованных и проадресованных ячеек, с которыми можно работать по отдельности или связанными пучками. Указатель – это группа ячеек (как правило, 2 или 4), в которых может храниться адрес. Всего существует два способа доступа к переменным:

1) ссылка на переменную;

2) использование механизма указателей;

Указатель-переменная – это переменная, предназначенная для хранения адресов памяти.

Указатель-константа – это значение адреса оперативной памяти.

Если одна переменная содержит адрес другой, то говорят, что первая переменная указывает на вторую.

Например: если переменная по адресу 1000 указывает на переменную по адресу 1004, то по адресу 1000 будет находиться значение 1004

Адрес памяти Содержание
 
 
 
 

Стандартный вид объявления указателя

Формат: тип * имя;

где тип - это любой допустимый тип (базовый тип) указателя, имя - имя переменной указателя. Базовый тип указателя определяет тип переменной, на которую указывает указатель.








Дата добавления: 2016-04-14; просмотров: 536;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.