티스토리 뷰
프로그래밍 언어별 특성_프로그래밍 언어 활용 part 2 : 파일 입출력 라이브러리 (응용)
찬찬잉 2021. 8. 10. 19:54
텍스트 파일 입출력
fscanf / 함수원형 : int * fscanf(FILE * stream, const char * format, ...);
헤더
stdio.h
기능
형식화된 문자열을 파일로부터 입력
매개변수
FILE * stream → 읽고자 하는 FILE 포인터, const char * format → 읽어들일 데이터 서식
반환값
읽기에 성공했다면 읽어들인 항목 개수를 반환하고 실패나 오류가 발생하면 -1을 반환
반환 문자열
- %o : 8진 정수 형식으로 입력
- %d : 10진 정수 형식으로 입력
- %ld : long형 10진 정수 형식으로 입력
- %x : 16진 정수 형식으로 입력
- %f : float형 형식으로 입력
- %lf : double형 형식으로 입력
- %c : 문자 형식으로 입력
- %s : 문자열 형식으로 입력
rewind
함수원형
void rewind(FILE * stream);
헤더
stdio.h
기능
파일의 읽기/쓰기 위치를 파일의 처음 위치로 초기화
매개변수
FILE * stream → 대상 파일 스트림
반환값
void
fprintf
형식 문자열의 구조
%[*] [width] [{h | 1 | L}]type
flags
- : 전체 폭에 대하여 왼쪽으로 정렬
+ : 부호 있는 값에 대하여 +/-를 출력
빈칸 : 양수만 부호 자리에 빈칸을 출력
0 : 정수의 폭에 맞춰서 0으로 채움
# : o, x, X와 함께 사용되면 0, 0x, 0X를 함께 출력
이진 파일 입출력
fread
함수원형
size_t fread(void * ptr, size_t size, size_t nitems, FILE * stream);
헤더
stdio.h
기능
이진(Binary)파일로부터 입력
매개변수
void * ptr → 파일 내용을 읽어들일 메모리 포인터, size_t size →
데이터 하나의 크기, size_t nitems →
읽을 데이터의 개수, FILE * stream →
대상 파일 스트림
반환값
읽어들인 데이터 개수를 반환, 오류가 발생하면 -1을 반환
fwrite
함수원형 : size_t fwrite(void * ptr, size_t size, size_t nitems, FILE * stream);
헤더
stdio.h
기능
파일에 버퍼 내용을 출력
매개변수
void * ptr → 파일 내용을 읽어들일 메모리 포인터, size_t size →
데이터 하나의 크기, size_t nitems →
쓰기 할 데이터의 개수, FILE * stream →
대상 파일 스트림
반환값
출력한 데이터 개수를 반환, 오류가 발생하면 -1을 반환
fseek
함수원형
int fseek(FILE * stream, long offset, int whence);
헤더
stdio.h
기능
파일의 읽기, 쓰기 위치를 이동
매개변수
FILE * stream →
대상 파일 스트림, long offset →
이동할 바이트 수, int whence →
시작 지점
반환값
함수 실행이 성공하면 0을 반환, 오류가 발생하면 0이 아닌 값을 반환
whence
SEEK_SET : 파일의 시작
SEEK_CUR : 현재 읽기, 쓰기 포인터 위치
SEEK_END : 파일의 끝
학습 정리
텍스트 파일 입출력
- 형식화된 문자열을 이용한 파일 입출력은 fscanf, fprintf를 이용
- int *scanf( FILE *stream, const char *format, ...);
- int *fprintf( FILE *stream, const char *format, ...);
- rewind는 파일의 읽기/쓰기 위치를 처음 위치로 이동임
이진 파일 입출력
- 이진 파일의 입출력은 fread, fwrite를 이용
- fseek는 지정한 거리만큼 포인터를 이동
- ftell은 현재 포인터의 위치를 반환
'JAVASCRIPT 기반의 스마트앱 개발 2021 > 프로그래밍 언어활용' 카테고리의 다른 글
프로그래밍 언어별 특성_프로그래밍 언어 활용 part 2 : 시간 관련 라이브러리 (0) | 2021.08.11 |
---|---|
프로그래밍 언어별 특성_프로그래밍 언어 활용 part 2 : 도서관리 시스템 고도화 (파일 처리) (0) | 2021.08.11 |
프로그래밍 언어별 특성_프로그래밍 언어 활용 part 2 : 파일 입출력 라이브러리 (기초) (0) | 2021.08.10 |
프로그래밍 언어별 특성_프로그래밍 언어 활용 part 2 : 도서관리 시스템 고도화 (동적메모리) (0) | 2021.08.10 |
프로그래밍 언어별 특성_프로그래밍 언어 활용 part 2 : 함수 포인터 (0) | 2021.08.10 |