설명

파일로 아직 쓰기가 되지 않은 메모리의 내용을 모두 쓰기가 되도록 합니다. 파일로 쓰기를 하더라도 바로 저장되지 않고 메모리 버퍼에 일단 저장되었다가 물리적 디스크로 저장되는데, 정전등의 문제로 중요 자료를 버릴 수 있다고 생각된다면 유용하게 사용할 수 있습니다.

헤더 unistd.h
형태 void sync (void)
예제
#include <stdio.h>   
#include <string.h>  // strlen()
#include <fcntl.h>   // open()
#include <unistd.h>  // sync()

int main()
{
   int   fd;
   char *str = "forum.falinux.comn";

   fd = open( "test.txt", O_WRONLY ¦ O_CREAT, 0644);

   write( fd, str, strlen( str));
   sync();                   // 버퍼의 내용을 모두 쓰기를 합니다.
      
   close( fd);
}