Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Dup

CuBook05

Функция

Дублирует дескриптор файла.
 
Синтаксис

#include<io.h>
int dup(int handle);
 
Прототип

io.h
 
Описание

Функция dup возвращает дескриптор файла, который по следующим позициям совпадает с оригинальным дескриптором:
- тот же самый открываемый файл или устройство.
- тот же самый адресный указатель файла (то есть изменение одного адресного указателя приводит к изменению другого).
- тот же самый метод доступа (чтение, запись, чтение/запись).
Переменная handle получает значение при вызове функций creat,_creat,_open, open, dup, dup2.
 
Возвращаемое значение

При успешном завершении функция dup возвращает целое неотрицательное число, обозначающее соответствующий дескриптор файла; в противном случае функция dup возвращает значение -1. При возникновении ошибки глобальная переменная errno получает одно из следующих значений:
EMFILE - слишком много открытых файлов.
EBADF - неверный номер файла.
 
Переносимость

Поддерживается в системах UNIX.
 
Пример

#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<io.h>

void flash(FILE *stream);

int main(void)
{
FILE *fp;
char msg[] = "Тестовый пример";
fp = fopen("DUMMY.FIL,"w");
if(fp)
{
fwrite(msg,strlen(msg),1,fp);
clrscr();
printf(" Для сброса буферов файла на диск нажмите клавишу ");
getch();
flush(fp);
printf("Буфера записаны, для завершения нажмите клавишу.");
getch();
}
else
{
printf("Ошибка при открытии файла\n");
}
return 0;
}
void flash(FILE *stream)
{
int duphandle;
fflash(stream);
duphandle = dup(fileno(stream));
close(duphandle);
}
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий