/ * * 실행 한 후, 다른 프로세스가 파일에 기록 된 내용을 판독하려고 * / #INCLUDE <STDIO.H> 사용법 #include <unistd.h> #INCLUDE <stdlib.h> #INCLUDE <fcntl.h> #INCLUDE < 문자열 .H> INT 본체 ( 무효 ) { 숯 BUF [ 1,024 ] CHAR * STR = " ---------- -------- secesuss TEST2 \ N- 쓰기 "를 , INT RET; SLEEP ( 2 ); // 수면 2 초, 데이터 TEST1 TEST.TXT 파일 기록되도록 INT FD = 열기 ( " TEST.TXT를 " , O_RDWR); // 작성된 파일있는 test.txt TEST1 데이터를 읽으려고 RET = 읽기 (FD, 버피, sizeof의 (BUF)); // 화면에 읽기 인쇄 데이터 쓰기 (STDOUT_FILENO, 버피, RET ); // 수정되지 않은 쓰기 위치 test.txth 파일에 쓰기 데이터 쓰기 (FD, STR, 나 strlen (STR)); 의 printf ( " TEST2 읽기 / 마침 \ N- 쓰기 " ) 닫기 (FD를) 반환 0 ; }
/ * * 실행하기 전에, 파일에 데이터를 쓰는이있는 test.txt * / 사용법 #include <stdio.h에> 사용법 #include <unistd.h> 사용법 #include <fcntl.h> 사용법 #include <stdlib.h> 사용법 #include < 문자열 .H > #DEFINE의 N. 5 INT 본체 ( 무효 ) { 숯 BUF [ 1,024 ] CHAR * STR = " -------------- ------------- secesuss \ N- 형 " , INT RET; INT FD = 열기 ( " 있는 test.txt " , O_RDWR | O_TRUNC | O_CREAT, 0664 ); // 直接打开文件写入数据 쓰기 (FD, STR, 나 strlen (STR)); 의 printf ( " TEST1이있는 test.txt 마무리 \ 없음으로 쓰기 " ); 수면 (N); Lseek로부터 (FD, 0 , SEEK_SET); RET = 읽기 (FD, BUF, 는 sizeof (BUF)); RET = 쓰기 (STDOUT_FILENO, BUF, RET); 만약 - (RET의 == 1 ) { (perror는 " 두 번째 오류 물품 " ) 출구 ( 1 ); } 확대 (FD); 반환 0 ; }