c 언어 스터디 05 - 파일 입출력
TRANSCRIPT
C Study 05
Copyright© 2015 by YoWu. All rights reserved. http://luckyyowu.tistory.com ([email protected])
파일 입출력
• 파일 입출력
파일 입출력
•파일 입출력
• 입력을 파일에서
• 출력을 파일로
•종류
• 고 수준
• 저 수준
파일 입출력
• 스트림(stream) : 입력과 출력을 byte의 흐름으로 생각
파일 입출력
• OS 선점 파일 스트림 - 표준 입출력 스트림
• 0 : stdin (표준 입력 스트림)
• 1 : stdout (표준 출력 스트림)
• 2 : stderr (표준 에러 스트림)
파일 입출력
• 고수준 파일 입출력
• FILE 구조체(stdio.h) 사용
파일 입출력
• 고수준 파일 입출력
• 파일 개방
• FILE *fopen(const char *filename, const char *mode)
• mode : 파일 접근, 데이터 입출력 모드
파일 입출력
• 고수준 파일 입출력
• 데이터 입출력 모드
• 텍스트 모드 vs 바이너리 모드
• \n
• \r\n
모드 의미
t 텍스트 모드
b 바이너리 모드
파일 입출력
• 고수준 파일 입출력
• 파일 폐쇄
• int fclose(FILE *stream)
예제 - 1
파일 입출력
• 고수준 파일 입출력
• 키보드/파일 입력 함수
• int fgetc(FILE *stream)
• char* fgets(char * s, int n, FILE *stream)
• int fscanf(FILE *stream, const char *format, …)
• 모니터/파일 출력 함수
• int fputc(int c, FILE *stream)
• int fputc(const char *s, FILE *stream)
• int fprintf(FILE *stream, const char *format, …)
예제 - 2
예제 - 3
파일 입출력
• 고수준 파일 입출력
• 파일의 끝
• 파일로부터 데이터를 읽어 들이는데 사용되는함수들은 파일의 끝에 도달할 경우 특정 값 리턴
• fgetc
• EOF(-1)
• fgets
• NULL(0)
• fcanf
• EOF(-1)
예제 - 4
예제 - 5
실습 - 1
•프로그램상에서 파일을 만들어 본인의 이름, 주소, 학번을저장하는 프로그램을 작성
•Ex)저장할 사람 몇 명? 2[1] 이름 : XXX[1] 주소 : xxxxx[1] 학번 : xxxx[2] 이름 : XXXX[2] 주소 : xxxxx[2] 학번 : xxxxx
•실행 결과
• info.txt에 이름, 주소, 학번에 대한 정보 저장
실습 - 2
• 학생들의 전체 정보를 파일로 먼저 저장해두고 이름을입력 받아 해당하는 사람에 대한 정보를 파일에서 찾아읽어와 출력해주는 프로그램 작성
• 데이터는 /home/study/data.txt에 있음
• 이름, 학교, 학과, 성별, 학점, 학번, 메일 순
과제
• 파일 위치 지시자에 대해 조사
• Fseek 함수와 ftell 함수에 대해 조사하고 예제 만들어확인
• 파일을 복사하는 프로그램을 작성
• 복사할 파일의 경로 및 이름과 복사될 파일의 경로 및이름을 입력 받아 파일을 복사하는 프로그램 작성 (cp 명령어)
• 파일에서 특정 문자가 몇 개 있는지 카운트 해주는프로그램 작성
과제
• 실습예제 2번에서 한 것에다 입력기능 추가
• 처음 프로그램을 실행시키면 입력과 출력을 선택할 수있게 하고 출력을 선택하면 실습예제 2와 동일하게수행
• 입력을 선택하면 이름, 학교, 학과, 성별, 학점, 학번, 메일을 입력받아 파일에 해당 내용을 추가하도록 작성
과제
• OSI 7계층 조사
• 소켓 구조체, 소켓 함수 조사