Язык Си шаг за шагом — страница 6

  • Просмотров 17640
  • Скачиваний 2168
  • Размер файла 405
    Кб

└───────────────────────────────────────────────────────┘ 6. Стандартные потоки (файлы) ввода-вывода В библиотеке имеются внешние переменные-указатели на дескрипторы файлов - стандартных устройств ввода-вывода. ┌ extern FILE *stdin, *stdout, *stderr, *stdaux, *stdprn; стандартный ввод

──┘ │ │ │ │ стандартный вывод ─────────┘ │ │ │ регистрация ошибок ─────────────────┘ │ │ дополнительное устройство ───────────────────┘ │ устройство печати

────────────────────────────────────┘ Эти файлы открываются библиотекой автоматически перед вы- полнением main и по умолчанию назначаются на терминал (stdin - клавиатура, stdout,stderr - экран), последователь- ный порт (stdaux) и принтер (stdprn). stdin и stdout могут быть переназначены в командой строке запуска программы на любые другие файлы ┌

>test.exe <a.dat >c:\xxx\b.dat │ └─────── файл stdout └───────────────── файл stdin Все функции посимвольного, построчного и форматированного ввода-вывода имеют варианты для файлов стандартного ввода- вывода. 7. Функции открытия-закрытия файла

┌───────────────────────────────────────────────────────┐ │ режим работы с файлом ────────┐ │ │ имя файла ────────┐ │ │ │ │ │ │ │ FILE *fopen(char *name, char *mode) - открыть файл │ │ │ │ │

└─── указатель на дескриптор файла или NULL │ │ │ │ int fclose(FILE *fd) - закрыть файл │ │ │ │ │ └─── 0 или EOF (ошибка) │ │ │ │ int fcloseall(void) - закрыть все │ │ │ │ │ └─── число закрытых файлов или EOF │ │ │ │ FILE *freopen(char *name, char *mode, FILE *fd) │ │ - закрыть и открыть повторно │ │ │ │ FILE *tmpfile(void) - создать и открыть временный │ │ файл с уникальным именем