LinuxIO(2)
-
[리눅스 프로그래밍 시리즈 16편] lseek 완전 이해: 파일 읽기 위치를 자유롭게 이동하는 방법
목표: 파일 포인터 위치를 이동하는 방법을 이해한다 결과: 파일을 원하는 위치에서 읽거나 쓸 수 있는 프로그램을 만들 수 있다1. 파일은 항상 '위치'가 있다이전 글(15편)에서 우리는 다음 시스템 콜을 배웠다.open()read()write()close()하지만 한 가지 중요한 개념이 있다.파일에는 현재 읽기/쓰기 위치가 존재한다.예:Hello Linux처음 read()를 실행하면H e l l o를 읽는다.다음 read()는(이어서) Linux를 읽는다.즉 파일에는 현재 위치(offset) 가 존재한다.2. lseek란 무엇인가?lseek()은 파일의 현재 위치를 이동시키는 시스템 콜이다.#include off_t lseek(int fd, off_t offset, int whence);구성:fd → 파..
2026.03.12 -
[리눅스 프로그래밍 시리즈 15편] 리눅스 파일 I/O 프로그래밍: open, read, write 시스템 콜 완전 이해
목표: 리눅스에서 파일을 직접 읽고 쓰는 시스템 프로그래밍 방식을 이해한다 결과: C 프로그램에서 파일을 열고 데이터를 읽고 쓰는 코드를 작성할 수 있다1. 이제부터 '진짜' 리눅스 프로그래밍지금까지는 주로명령어개발 도구스크립트위주의 내용을 다뤘다.하지만 리눅스 시스템 프로그래밍에서는 운영체제와 직접 상호작용한다.대표적인 방법이 바로 시스템 콜(System Call) 이다.예:파일 열기 → open()파일 읽기 → read()파일 쓰기 → write()파일 닫기 → close()이 함수들은 리눅스 커널과 직접 연결된다.2. 파일 I/O의 기본 흐름리눅스 파일 작업은 항상 다음 순서를 따른다.open() ↓read() / write() ↓close()즉1) 파일 열기2) 데이터 읽기/쓰기3) 파일 닫기3...
2026.03.11