C 언어에서 파이프와 파일 사이에서 데이터를 옮길 때 splice()를 사용할 수 있다.
헤더와 선언
#include <fcntl.h>
ssize_t splice(int fd_in,
off64_t * off_in,
int fd_out,
off64_t * off_out,
size_t len,
unsigned int flags);반환값과 주의점
이동한 바이트 수를 반환하고 오류는 -1이다. 0은 더 이동할 데이터가 없다는 뜻일 수 있다.
입력이나 출력 중 적어도 한쪽은 파이프여야 한다. 모든 파일 종류 사이에서 자유롭게 복사하는 만능 함수는 아니다.
답글 달기