2015-01-12 11 views
0

open() 기능을 사용하여 파일을 hell.txt으로 열었습니다.이전 설명자를 새로운 설명 자로 연결하는 방법은 무엇입니까?

fd=open("hell.txt",O_RDONLY); 

그런 다음 설명자를 4으로 반환한다고 생각해보십시오. 그리고 hi.txt이 이미 설명자 3을 차지하고 있으므로 3으로 hell.txt 파일을 dup2 또는 fcntl() 기능을 사용하지 않고 연결하려고합니다.

두 기능을 사용하지 않고 변경할 수 있습니까? 파일 descriptrs는 일반적으로 작은 숫자를 점유하고 있기 때문에

+0

맥락은 무엇인가? 나중에 파일 기술자'3'로 무엇을하고 싶습니까? hell.txt를'3 '에 연결하는 가장 간단한 방법은 hi.txt를 닫고 hell.txt를 두 번 (표준 파일 설명자 0-2가 열려 있다고 가정) – jfs

+0

이 dup3()을 허용하는 것입니다. ^) – Jasen

답변

0

이 일반적으로 작동합니다

close(3); 
fd=open("hell.txt",O_RDONLY); 
+0

* dup2 또는 fcntl() 함수를 사용하지 않고 "* - dup() – jfs