시스템 프로그래밍 – lseek, fopen, fprintf, sprintf

검색(x, 30, SEEK_SET)

파일이 처음 열릴 때 r/w 포인터는 첫 번째 바이트(인덱스 = 0)를 가리킵니다. 따라서 읽기는 현재 포인터를 기준으로 합니다. 여기서 lseek를 사용하면 이 R/W 포인터를 어디로든 이동할 수 있습니다. SEEK_SET은 임의의 지점으로 이동하는 것을 의미하며 여기서는 30이므로 x에서 30칸 이동하는 것을 의미합니다. 즉, index = 30을 가리킵니다.

이제 fprintf, 열려 있는, sprintf를 살펴보겠습니다. y = 1로 둡니다.

printf는 알 것입니다. 화면에 무언가를 가져옵니다. fprintf는 printf와 동일하지만 여기에 지정된 파일로 인쇄합니다.

(예: fprintf(f, “hi%d”, y)는 파일 f에서 hi3을 인쇄한다는 의미입니다.)

여기서 f는 fopen으로 열 파일에 대한 포인터입니다. 예를 들어 f = fopen(“f1”, “w”)는 f1이 쓰기용으로 열려 있고 그 지점에서 반환되는 포인터가 f가 된다는 의미입니다.

f를 선언할 때 FILE 데이터 유형에 대한 포인터로 FILE *f로 선언해야 합니다.

이는 파일에 printf를 쓰는 것과 같은 효과가 있습니다.

sprintf의 경우 printf는 문자열에서 수행됩니다. (예: sprintf(arr, “hi%d”, y), arr 배열이 문자열이기 때문에 가능)