왜 이것을 사용하고 있습니까?
시스템 소프트웨어를 연구하는 데 있어 사소한 이상함일 수 있지만 open() 함수 플래그 아래에 있는 O_APPEND의 정확한 함수를 몰랐습니다.
그래서 정확한 뜻을 찾아봤습니다.
즉, O_APPEND 플래그를 추가하면 파일 오프셋은 쓰기 시 자동으로 파일의 끝으로 이동합니다.
참고로 파일에 내용을 추가하는 추가 행위는 파일 공간 이상을 요구할 때 자동으로 용량을 늘린다.
깨끗한 코드를 위해
원본을 파괴하지 않고 파일에 무언가를 추가하려면
fd = open("abc.txt", ...);
lseek(fd, 0, SEEK_END);
write(fd, APPEND할 내용(buf), APPEND하고 싶은 SIZE);
이렇게 파일 오프셋을 설정하는 것은 번거로운 일입니다.
그러나 첨부
fd = open("abc.txt", O_RDWR | O_APPEND);
write(fd, APPEND할 내용(buf), APPEND하고 싶은 SIZE);
구현이 매우 쉬워짐 → 코드 효율성 증가