파일을 지정된 길이로 자른다.
#include <unistd.h> int truncate(const char *path, off_t length); int ftruncate(int fd, off_t length);
truncate 는 path 로 지정된 파일이나 fd 로 참조되는 파일을 length 바이트 크기가 되도록 자른다. 만약 파일이 length 보다 크다면 length 이후의 데이타는 잃게된다. 만약 파일이 이 크기보다 작다면 파일이 그대로 있을지 아니면 확장될지는 알수 없다. 확장될경우에는 0으로 채워진다. ftruncate 의 경우 파일은 쓰기가능 상태로 열려져 있어여 한다.
성공할경우 0을 실패했을경우에는 -1을 반환하며, 적당한 errno 값을 설정한다.
경로 접두사 요소가 디렉토리가 아니다.
경로 이름 요소가 255자를 넘었거나, 전체 경로 이름이 1023 자를 넘었다.
지정된 파일이 존재하지 않을경우
경로의 요소에 대한 탐색허가가 거부되었다. 혹은 지정된 파일을 사용자가 쓸수 없을경우
fd 가 유효한 기술자가 아니다.
fd 가 파일이 아니고 소켓을 가리키고 있다.
fd 가 쓰기 가능으로 열려있지 않다.
#include <unistd.h> #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> #include <stdio.h> int main() { int fd; fd = open("test4.txt", O_RDWR); if (ftruncate(fd, 20) < 0) { perror("error : "); } close(fd); }
Copyrights © - Joinc, All Rights Reserved. Inherited From - Yundream Rebranded By - Joonphil
1장. truncate(2)
파일을 지정된 길이로 자른다.
1.1절. 사용법
1.2절. 설명
truncate 는 path 로 지정된 파일이나 fd 로 참조되는 파일을 length 바이트 크기가 되도록 자른다. 만약 파일이 length 보다 크다면 length 이후의 데이타는 잃게된다. 만약 파일이 이 크기보다 작다면 파일이 그대로 있을지 아니면 확장될지는 알수 없다. 확장될경우에는 0으로 채워진다. ftruncate 의 경우 파일은 쓰기가능 상태로 열려져 있어여 한다.
1.3절. 반환값
성공할경우 0을 실패했을경우에는 -1을 반환하며, 적당한 errno 값을 설정한다.
1.4절. 에러
경로 접두사 요소가 디렉토리가 아니다.
경로 이름 요소가 255자를 넘었거나, 전체 경로 이름이 1023 자를 넘었다.
지정된 파일이 존재하지 않을경우
경로의 요소에 대한 탐색허가가 거부되었다. 혹은 지정된 파일을 사용자가 쓸수 없을경우
fd 가 유효한 기술자가 아니다.
fd 가 파일이 아니고 소켓을 가리키고 있다.
fd 가 쓰기 가능으로 열려있지 않다.
1.5절. 예제
Recent Posts
Archive Posts
Tags