tail head cat sleep
QR code linking to this page

Man page  — TRUNCATE

명칭

truncate, ftruncate – 지정한 길이에 파일을 잘라 버리거나 확장하거나 한다

내용

프로그램 라이브러리

Standard C Library (libc, -lc)

서식

#include <unistd.h>

int
truncate(const char *path, off_t length);

int
ftruncate(int fd, off_t length);

해설

truncate() (은)는, path 그리고 지정되는 파일인가 fd 그리고 참조 되는 파일의 사이즈가, length 바이트가 되도록(듯이) 잘라 버리거나 확장합니다. 파일이 이 사이즈보다 큰 경우는, 여분의 데이터가 없어집니다. 파일이 이 사이즈보다 작은 경우는, 0 이 기입해진 것처럼 확장됩니다. ftruncate() 그럼, 파일이 기록용으로 열려 있을 필요가 있습니다.

반환값

Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

에러

truncate() (은)는, 이하와 같은 경우에 처리를 실패합니다.
[ENOTDIR]
  패스의 원가요소중에 디렉토리 이외의 것이 포함되어 있습니다.
[ENAMETOOLONG]
  패스명의 원가요소가 255 캐릭터를 넘고 있는지, 또는 패스명 전체가 1023 캐릭터를 넘고 있습니다.
[ENOENT]
  지정된 파일이 존재하지 않습니다.
[EACCES]
  전치패스명의 원가요소에 대해 검색 허가가 거부되고 있습니다.
[EACCES]
  지정된 파일에 유저가 쓰기선.
[ELOOP]
  패스명을 변환할 경우에 검출된 기호 연결이 너무 많습니다.
[EISDIR]
  지정된 파일이 디렉토리가 되어 있습니다.
[EROFS]
  지정된 파일은 읽기 전용 파일 시스템상에 있습니다.
[ETXTBSY]
  파일이, 실행중의 퓨어 프로시저 (공유 텍스트) 파일입니다.
[EIO] inode 의 갱신을 하고 있는 동안에 입출력 에러가 발생했습니다.
[EFAULT]
  path (은)는, 프로세스에 할당할 수 있었던 address 공간의 범위외를 가리키고 있습니다.

ftruncate() (은)는, 이하와 같은 경우에 처리를 실패합니다.
[EBADF]
  fd 하지만 유효한 기술자가 아닙니다.
[EINVAL]
  fd (은)는 파일은 아니고 소켓을 참조하고 있습니다.
[EINVAL]
  fd 하지만 기록용으로 열려 있지 않습니다.

관련 항목

open(2)

버그

이 소환은, 파일이 있는 범위를 방폐할 수 있도록(듯이) 일반화한다 필요가 있습니다.

truncate() (을)를 사용해 파일을 확장하면(자), 이식성이 없어집니다.

역사

truncate() 함수 호출은, BSD 4.2 그리고 등장했습니다.

TRUNCATE (2) June 4, 1993

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.

Ken Thompson was once asked by a reporter what he would have changed about Unix if he had it all to do over again. His answer: “I would spell creat with an ‘e.'”