C. Тема 3. Раздел 2
.pdf
Библиотека io.h int open(
// Имя файла
const char *filename,
//Флаг работы с файлом int oflag [,
//Тип доступа к файлу int pmode]
);
O_APPEND Указатель на файл перемещен в конец файла перед каждой операцией записи.
O_CREAT Новый файл создан и открыт для записи; это не эффективно, если существует файл, определяемый по path-имени.
O_EXCL Возвращается значение ошибки, если существует файл, определяемый по имени. Применяется только вместе с O_CREATE.
O_RDONLY Файл открыт только для чтения; если задается этот флаг, может быть выбран либо флаг O_RDWR, либо O_WRONLY.
O_RDWR Файл открыт одновременно для чтения и записи; если задается этот флаг, может быть выбран либо флаг O_RDONLY, либо O_WRONLY.
O_TRUNC Существующий файл открыт и усечен к длине 0; этот файл должен иметь разрешение на запись. Содержимое файла уничтожается.
O_WRONLY Файл открыт только для чтения; если задан этот флаг, должен быть задан также либо флаг O_RDONLY, либо ORDWR.
O_BINARY Файл открыт в бинарном (двоичном, не транслированном) режиме. (См. описание двоичного режима у функции fopen).
O_TEXT Файл открыт в текстовом (транслирующем) режиме. (См. описание текстового режима у функции fopen).
|
|
|
|
|
|
|
|
|
S_IWRITE |
Разрешает запись |
|
|
|
|
|
|
S_IREAD |
Разрешает чтение |
|
|
|
|
|
|
S_IREAD|S_IWRITE |
Разрешают чтение и |
|
|
|
запись |
|
|
|
|
|
Часть 2
int fprintf( FILE *stream, const char
*format,... ) – форматированный вывод
int fscanf( FILE * stream, char * format[, adress,...] ) –
форматированный ввод
int fgetc( FILE *stream ) – ввод одного символа
int fputc( int c, FILE *stream ) –
вывод одного символа
EOF – символическая константа, обозначающая ошибку чтения или окончание файла
|
|
|
|
|
|
size_t |
fread( void |
*ptr, size_t size, |
|
|
size_t |
count, FILE |
* |
stream ) – чтение |
|
size_t |
fwrite( const |
void *buffer, |
|
|
size_t |
size, size_t count, FILE |
||
*stream ) – запись
ptr – указатель на буфер
size – размер одного элемента данных буфера
count – количество элементов данных буфера
int read( int fd, void *buffer, unsigned int count ) – чтение
int write( int fd, const void *buffer, unsigned int count ) –
запись
long int ftell( FILE *stream ) – возвращает положение указателя текущей позиции потока данных
int fgetpos( FILE * stream, fpos_t *pos ) –
сохраняет текущее положение указателя потока данных в pos
void rewind(FILE *stream) – перемещает положение указателя потока данных в его начало
int fseek( FILE *stream, long offset, int origin )
– перемещает положение указателя потока данных в указанное положение
fseek( f, 0, SEEK_END ) – в конец
fseek( f, 0, SEEK_SET ) – в начало
fseek( f, 20, SEEK_SET ) – на смещение 20
int fsetpos( FILE *stream, const fpos_t *pos ) –
перемещает положение указателя потока данных в указанное положение
Часть 3
int fclose( FILE *stream ) –
закрывает поток данных
int close( int fd ) – закрывает файл
