본문 바로가기

표준 입출력5

[CS] 표준 입출력, File offset & File pointerIO #5 이 포스팅은 한국기술교육대학교 김덕수 교수님의 시스템 프로그래밍 (CSE 232)를 참고하여 작성되었습니다. #1 Handling file offset #include int fseek(FILE *stream,long offset,int whence); long ftell(FILE *stream); void rewind(FILE *stream); int fsetpos(FILE *stream,const fpos_t *pos); int fgetpos(FILE *stream,fpos_t *pos); stream offset : 이동시킬 byte 수 (양수 or 음수) whence : 기준 위치 SEEK_SET, SEEK_CUR, SEEK_END pos : offset을 저장할(or 하고 있는) fpos_t 주.. 2022. 12. 14.
[CS] 표준 입출력, Standard IO #4 이 포스팅은 한국기술교육대학교 김덕수 교수님의 시스템 프로그래밍 (CSE 232)를 참고하여 작성되었습니다. 표준 파일 입출력에는 다음 4가지가 있다. (1) Character IO (2) String IO (3) Binary IO (4) Formatted IO 이번 포스팅에서는 (3), (4)에 대해서 다루겠다. 문자인 경우 '아스키 코드' 로 변환되어 저장된다. 파이너리 파일은 메모리에 있는 이진수 데이터가 그대로 저장된다. #1 Binary IO FILE *fopen(const char *filename, const char *mode); 파일을 읽을 때 mode인자에 binary인자를 포함하여 읽으면 된다. Binary IO Read & Write, fread(3), fwrite(3) #inclu.. 2022. 12. 14.
[CS] 표준 입출력, Standard IO #3 이 포스팅은 한국기술교육대학교 김덕수 교수님의 시스템 프로그래밍 (CSE 232)를 참고하여 작성되었습니다. 표준 파일 입출력에는 다음 4가지가 있다. (1) Character IO (2) String IO (3) Binary IO (4) Formatted IO 이번 포스팅에서는 (1), (2)에 대해서 다루겠다. #1 Character-based reading, fgetc(3) #include int fgetc(FILE *stream); int getc(FILE *stream); // macro int getchar(void); // = getc(stdin) stream : File operation을 수행할 stream c (character) : 쓰려는 문자 Return : 읽은/기록한 문자 | E.. 2022. 12. 14.
[CS] 표준 입출력, Standard IO #2 이 포스팅은 한국기술교육대학교 김덕수 교수님의 시스템 프로그래밍 (CSE 232)를 참고하여 작성되었습니다. Standard IO - 플랫폼에 독립적인 유저 버퍼링 솔루션(user-buffering solution)이다. - File pointer File operation을 관리하는 구조체(FILE)를 가리키는 포인터 내부적으로 file descriptor와 연동(mapping)됨 - Stream 프로그램과 file을 연결하는 통로 Stream of bytes Workflow of file I/O - File open 파일 스트림 생성 및 FILE 구조체에 저장 fopen() - File access (Read / Write) 파일의 내용 읽기 또는 정보 기록 fprintf(), fscanf(), fg.. 2022. 12. 14.
[CS] 표준 입출력, Buffered IO #1 이 포스팅은 한국기술교육대학교 김덕수 교수님의 시스템 프로그래밍 (CSE 232)를 참고하여 작성되었습니다. Block - 파일 시스템의 추상화된 개념. 물리적 Disk를 추상. 운영체제 입장에서 file system은 block들의 나열이다. - Block의 크기는 일반적으로 512~8192 bytes (2^n) Sector size < Block size < Page size - Disk (or block device) access의 최소 단위 File IO vs Disk IO - File IO with system call Access in a unit of byte - Disk IO Access in a unit of block 매번 byte단위로 Disk에 접근하는 것은 비효율적이다. Buffe.. 2022. 12. 14.