Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Функция fscanf

Функция feof

Функция fcloseall

Функция fclose

Функция

#include <stdio.h>

int fclose (FILE * stream);

 

закрывает указанный поток stream. Все буфера, связанные с потоком stream, перед закрытием сбрасываются. Буфера, размещенные системой, освобождаются во время процесса закрытия. Буфера, назначенные функциями setbuf или setvbuf, не освобождаются автоматически. (Однако, если в качестве указателя, функции setvbuf передать 0, то он будет освобожден при закрытии потока.)

Функция fclose при успешном завершении возвращает 0. Если были обнаружены какие-либо ошибки, функция fclose возвращает значение EOF.

Пример:

#include<string.h>

#include<stdio.h>

int main(void)

{

FILE *fp;

char buf[11] = "0123456789";

/* создать файл содержащий 10 байт */

fp = fopen("DUMMY.FIL","w");

if(fp)

{

fwrite(&buf,strlen(buf),1,fp);

/* закрыть файл */

fclose(fp);

}

else

{

printf("Ошибка, при открытии файла ");

}

return 0;

}

Функция

#include <stdio.h>

int fcloseall (void)

закрывает все открытые потоки ввода-вывода. за исключением stdin, stdout, stderr, stdaux, stdprn. Возвращает общее число потоков, закрытых функцией, либо EOF, если обнаружены какие-либо ошибки при закрытии файлов.

Пример:

#include<stdio.h>

int main(void)

{

FILE *fp1,*fp2;

int streams_closed;

/* открыть два потока */

fp1 = fopen("DUMMY.ONE","w");

fp2 = fopen("DUMMY.TWO","w");

/* закрыть открытые потоки */

streams_closed = fcloseall();

if(streams_closed == EOF)

/* вывести сообщение об ошибке */

perror(" Ошибка ");

else

/* вывести результат работы функции */

printf("Было закрыто %d потока ",streams_closed);

return 0;

}

 

Функция

#include<stdio.h>

int feof(FILE * stream);

является макрокомандой, которая производит проверку данного потока stream на признак конца файла (EOF). Если признак получил значение хотя бы один раз, то операции чтения файла сохраняют это значение до тех пор, пока не будет вызвана функция rewind или файл не будет закрыт. Признак конца файла сбрасывается при каждой операции ввода.

Функция feof возвращает ненулевое значение, если при последней операции ввода потока stream был обнаружен конец файла, и 0 в противном случае.

Пример:

#include <stdio.h>

int main(void)

{

FILE *stream;

char ch;

/* открыть файл для чтения */

stream = fopen("DUMMY.FIL", "r");

 

/* ввести из файла символ */

ch = fgetc(stream);

/* конец файла? */

if(feof(stream))

printf("Конец файла ");

/* закрыть файл */

fclose(stream);

return 0;

}

 

Функция

#include <stdio.h>

int fscanf(FILE * stream, char * format[, adress,...]);

сканирует посимвольно набор вводимых полей, считывая их из потока. Затем каждое поле из потока форматируется в соответствии со спецификацией формата, которая передается fscanf в виде указателя на строку format. Полученное в результате этого поле fscanf запоминает в аргументах, передаваемых функции fscanf после параметра format. Количество аргументов должно совпадать с количеством спецификаций формата.

Описание спецификаций формата приведено в описании функции scanf.

Функция fscanf завершает сканирование отдельного поля при появлении пробела, являющегося разделителем, или при вводе поля, для которого указана ширина. Эти случаи обсуждаются в описании функции scanf.

Функция fscanf возвращает количество успешно прочитанных, преобразованных и запомненных входных полей; возвращаемое значение не включает в себя прочитанные поля, которые не были сохранены.

Если fscanf делает попытку чтения в конце файла, то возвращается EOF. Если не было записано ни одного поля, возвращается значение 0.

Пример:

#include<stdlib.h>

#include<stdio.h>

int main(void)

{

int i;

printf("Введите целое число:");

/* ввести из стандартного потока stdout целое число */

if(fscanf(stdin,"%d",&i))

printf("Целое равно:%d ",i);

else

{

fprintf(stderr,"Ошибка чтения целого ");

exit(1);

}

return 0;

}

 

Самостоятельная проработка:

<== предыдущая лекция | следующая лекция ==>
Литье в формы, полученные вакуумированием | Функция ftmpfile
Поделиться с друзьями:


Дата добавления: 2014-01-15; Просмотров: 495; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.