mktemp() 함수는 template 로 부터, 유일한 temporary 파일이름을 생성한다. template 는 문자열 마지막에 반드시 여섯개의 X문자를 포함해야 한다. mktemp 함수는 이 여섯개의 문자를 치환해서 유일한 파일이름을 생성한다. mktemp 함수는 template 를 직접 수정하기 때문에 상수(constant)를 쓰면 안된다.
리턴값
mktemp 함수는 template를 리턴한다. 만약 유일한 이름이 생성되었다면 여섯개의 X가 치환된 문자열이 리턴이 된다. 유일한 이름을 만들지 못했다면 빈 문자열을 리턴한다.
에러
EINVAL : 마지막 여섯개의 문자가 XXXXXX 가 아니다.
NOTES
mktemp 대신 mkdtemp(3)을 사용하자. mktemp는 위험하다. 몇몇 버전의 함수는 쉽게 예측가능한 시스템의 PID 값으로 template를 대체하기 때문으로, 레이스컨디션 공격대상이 될 수 있다. mkstemp() 함수를 사용하면 레이스컨디션 문제를 피할 수 있다.
mktemp를 포함한 코드를 컴파일 하면 경고메시지를 출력한다.
$ !g
# gcc -o mytemp mytemp.c
/tmp/ccQoR9P0.o: In function `main':
mytemp.c:(.text+0x46): warning: the use of `mktemp' is dangerous, better use `mkstemp' or `mkdtemp'
mktemp
사용방법
설명
리턴값
에러
NOTES
예제
Recent Posts
Archive Posts
Tags