lseek의 반환 값은 일반적으로 파일의 시작 부분에서 바이트 단위로 측정된 결과 파일 위치입니다. 이 기능을 SEEK_CUR와 함께 사용하여 현재 파일 위치를 읽을 수 있습니다. 파일 설명자 파일을 여는 데 필요한 읽기 또는 쓰기 작업을 수행할 때. 쓸 새 파일을 만들거나 이전 내용을 삭제하여 기존 파일을 사용할 수 있습니다. 읽기 또는 쓰기 작업을 수행할 수 있도록 특정 권한이 필요합니다. 파일에 쓸 때 시스템은 기존 사용 권한을 확인하고 권한이 있는 경우 시스템에서 “파일 설명자”라고 하는 비음수 정수를 반환합니다. 하위 수준 I/O 함수에서는 파일 설명자가 모든 후속 읽기 또는 쓰기 작업에 대한 파일 ID를 사용하는 데 사용됩니다. 낮은 수준의 I/O 함수는 다음과 같이 파일을 읽는 것과 마찬가지로 원하는 바이트를 적게 쓰는 것은 오류로 간주되지 않습니다. 예를 들어, 가득 찬 파이프에 쓰고 있을 수 있습니다. 일반 파일의 경우 이 이벤트는 드물게 발생합니다. 위의 것과 유사한 루프를 코딩하여 작성할 수 있습니다. 기존 파일을 열면 priviledges가 파일의 사용 권한을 다시 검사합니다. 파일에 대한 읽기 또는 쓰기 권한이 있어야 할 뿐만 아니라 경로의 모든 디렉터리 항목에 대한 실행(검색) 권한도 있어야 합니다(디렉터리에 대한 권한 실행은 파일에 CD를 사용할 수 있음을 의미합니다).

파일이 아직 존재하지 않는 경우에 파일을 만들려면 O_CREAT에 있는 것입니다. 파일이 이미 존재하지 않아야한다고 주장하려면 O_CREAT에서 O_EXCL. 이 경우 파일이 존재하지 않는 경우 파일이 만들어지며 파일이 있는 경우 오류가 발생합니다. 이 기능은 프로그램의 이전 호출이 일부 임시 파일을 남겼는지 또는 로깅을 위해 남겨졌는지 확인하는 데 유용할 수 있습니다. 경우에 따라 이 옵션이 잠금에 사용되지만 NFS 에 탑재된 파일 시스템에서항상 작동하지는 않습니다. 다음은 상위 수준 및 하위 수준 I/O 함수 간의 차이점에 대해 설명합니다. 상위 수준 또는 스트림 수준 I/O Here 1번째 인수는 파일 또는 장치를 연 후 열린 호출에서 오는 파일 설명자이며 2번째 인수는 버퍼 이름이며 3번째 인수는 파일에 쓰려는 버퍼 또는 크기의 크기입니다. open() 호출은 파일을 열어 읽기 및 쓰기 작업을 수행하는 데 사용되며 후속 시스템 호출, 즉 읽기 및 쓰기에 사용할 수 있는 작은 비음수 정수인 파일 설명기를 반환합니다. 당신이 산술을 할 경우, 그것은 최대 파일 크기로 1 기가 블록에 우리를 가져옵니다. 디스크 블록이 4K인 경우 inode의 32비트 파일 크기 필드만큼 큰 4GB가 됩니다. ext2 파일 시스템에는 총 4TB 이하의 데이터가 포함될 수 있습니다. 읽기 함수는 설명자가 있는 파일에서 크기 바이트까지 읽혀서 결과를 버퍼에 저장합니다.

(반드시 문자 문자열이 아니며 null 문자를 종료하지 않습니다.) lseek 함수는 설명자가 제출된 파일의 파일 위치를 변경하는 데 사용됩니다. 다음 기능 그룹을 사용하여 파일 및 장치에 액세스할 때: 이러한 호출의 주요 장점은 두 호출을 대체하는 하나의 호출을 제공하는 것 외에도 스레드가 더 안전하다는 것입니다. 공유 파일 설명자의 파일 포인터에 영향을 주는 작업을 수행하는 다른 컨트롤 스레드에 대해 걱정할 필요가 없습니다.