| БИБЛИОТЕКА ВВОДА-ВЫВОДА |
| Программа,
использующая перечисленные ниже функции
ввода-вывода, должна включать в себя файл stdio h с
помощью команды препроцессора #include <stdio h>файр stdio .h содержит: 1. Определение типа данных FILE 2. Определения параметров, используемых в макровызовах и вызовах библиотечных функций. Примеры stdm - стандартный файл ввода; stdout - стандартный файл вывода; Библиотека ввода-вывода 61 stderr - файл вывода сообщений об ошибках; NULL -нулевой (0) указатель; EOF - конец файла. Замечание. По умолчанию файлы stdm, stdout и stderr связываются с терминалом.3. Макроопределения. pute() ferrorO getcQ с1еагегг() putchar() feof() getcharO fileno() Замечание. Поток ввода-вывода идентифицируется указателем на переменную типа FILE. Средства буферизации включаются в поток как часть стандартного пакета ввода-вывода. |
| Доступ к файлам |
| fopen
— открыть поток ввода-вывода. Определение. FILE *fopen (filename, type) char *filename, *type, freopen - закрыть поток stream и открыть файл newfile, используя описание этого потока. Определение: FILE *freopen (newfile, type, stream) char * newfile, *type, FILE * stream,fdopen — связать поток с дескриптором файла, открытым функцией Определение: FILE * fdopen (tildes, type) int fildes, char *type, open. fclose - закрыть открытый поток ввода-вывода stream Определение: int fclose (stream) FILE *stream, fflush — записать символы из буфера в выходной поток stream Определение: int fflush (stream) FILE * stream, fseek - изменить текущую позицию offset в файле stream. Определение: int fseek (stream, offset, ptrname) FILE * stream; long offset; int ptrname; rewind - переставить указатель текущего байта в потоке на начало файла. Определение: void rewind (stream) FILE * stream, setbuf - модифицировать буфер потока. Определение: void setbuf (stream, buf) FILE * stream; char *buf; setvbuf - модифицировать буфер потока. Определение: int setvbuf (stream, buf, type, size) FILE *stream; char *buf; int type, size; |
| pclose
- закрыть поток, открытый функцией рореп.
Определение: int pclose (stream) FILE * stream; рореп - создать поток как канал обмена между процессами. Определение: FILE *popen (command, type) char *command, *type |
| Состояние файла |
| clearerr
- обнулить признаки ошибки потока. Определение:
void clearerr (stream) FILE *stream; feof - проверить состояние конца файла в потоке. Определение: int feof (stream) FILE *stream, ferror — проверить состояние ошибки в потоке. Определение: int terror (stream) FILE *stream; fileno - связать дескриптор файла, открытого функцией open существующим потоком. Определение: int fileno (stream) FILE * stream; |
| fgets — прочитать строку из входного потока,
включая символ новой строки. Определение: char *fgets (s, n, stream) char *<; int n, FILE *stream; gets — прочитать строку из стандартного файла ввода stdm. Определение: char *gets(s) char *s; fputs - записать строку в поток stream. Определение: int fputs (s, stream) char *s; FILE *stream, puts — записать строку в стандартный файл вывода stdout. В конце строки записывается символ новой строки. Определение: int puts (s) char *s; Ввод символа fgetc — прочитать следующий символ из входного потока stream Определение: int fgetc (stream) FILE •stream;Замечание. Функции getc(), getchar(), ungetc() являются макроопределениями. getc - прочитать следующий символ из входного потока. Определение: int getc (stream) FILE *stream, getchar - прочитай, следующий символ из стандартного файла ввода. Определение: int getchar () ungetc - вернуть символ во входной поток. Определение: int ungetc (с, stream) int с, FILE * stream; |
| fputc
— записать символ в поток. Определение: int fputc (с,
stream) int с; FILE * stream; Замечание. Функции putc() и putchar() являются макроопределениями. putc - записать символ в поток. Определение: int putc (с, stream) int с, FILE *stream, putchar - записать символ в стандартный файл вьшода. Определение: int putchar (с) int с; |
| Блочный ввод-вывод |
| fread - прочитать из входного потока
определенное число байт (символов). Определение: int fread (ptr, size, nitems, stream) char *ptr, int size, nitems, FILE *stream,fwrite - записать определенное число байт в выходной поток. Определение: int fwrite (ptr, size, nitems, stream) char *ptr; int size, nitems; FILE *stream |
| Замечание. Для выполнения описанной
в этом подразделе функции необходимо включить в
программу файл stdio.h командой#include <stdio.h>
system - выполнить команду языка shell, описанную как строка string. Определение: int system (string) char * string |
| Временные файлы |
| Замечание. Для выполнения описанных в этом
подразделе функций необходимо включить в
программу файл stdio.h tmpnam — создать временное имя файла. Определение: char *tmpnam (s) char *s; tempnam - создать временное имя файла, используя каталог dir и префикс файла pfx. Определение: char *tempnam (dir, pfx) char *dir, *pfx, mktemp - создать уникальное имя файла по шаблону, записанномув строке template. Определение: char *mktemp (template) char *template;tmpfile - создать временный файл. Определение: FILE *tmpfile () |
| Замечание.
Для выполнения описанных в этом подразделе
функций необходимо включить в программу файл
string.h командой #mclude (string.h) strcat - сцепить две строки. Определение: char *strcat (si, s2) char *sl, *s2; strncat - сцепить две строки, причем из второй строки копировать не более п символов. Определение: char *stmcat (si, s2, n) char *sl, *s2; int n;strcmp - сравнить две строки в лексикографическом порядке. Определение: int strcmp (si, s2) char *sl, *s2; stmcmp — сравнить первые n символов двух строк. Определение: mt strncmp (si, s2, n) char *sl, *s2; int n;strcpy - копировать строку s2 в строку si. Определение: char * strcpy (si, s2) char *sl, s2; stmcpy - копировать не более n символов строки s2. Определение: char *strncpy (si, s2, n) char *sl, *s2; int n; strlen - определить длину строки (число символов без завершающего нулевого символа): Определение: int strlen (s) char *s; strchr - найти в строке первое вхождение символа с. Определение: char *strchr (s„c) char *s; int c; strrchr — найти в строке последнее вхождение символа с. Определение: char *strrchr (s, с) char *s; int с; strpbrk — найти в строке si любой из множества символов, входящих в строку s2. Определение: char *strpbrk (si, s2) char *sl, *s2; strspn — определить длину отрезка строки si, содержащего символы из множества символов, входящих в строку s2. Определение: int strspn (si, s2) char *sl, *s2; strcspn - определить длину отрезка строки si, содержащего символы, не входящие в множество символов строки s2. Определение: int strcspn (si, s2) char *sl, *s2, strtok — выделить из строки si лексемы, разделенные любым из множества символов, входящих в строку s2. Определение: char *strtok (si, s2) char *sl, *s2; |