17강 파일처리함수(1) 강 의 내 용 파일 입출력의 개념 파일포인터를 이용한 입출력 파일 입출력 과정

Slides:



Advertisements
Similar presentations
C 프로그래밍 기초.
Advertisements

데이터의 표현과 연산 (1) (Chapter 3)
제12장 표준 입출력과 파일 입출력.
[ 단원 12 ] 파일처리 부산대학교 남 태 우.
Linux/UNIX Programming
쉽게 풀어쓴 C언어 Express 제16장 파일 입출력 C Express.
쉽게 풀어쓴 C언어 Express 제16장 파일 입출력 C Express.
6 레이스 컨디션.
쉽게 풀어쓴 C언어 Express 제16장 파일 입출력 C Express.
-Part3- 제3장 콘솔 입출력과 파일 입출력.
프로그래밍실습 제 18 강.
C 프로그래밍 소개 숙명여대 창병모 2011 가을.
01 화일의 기본 개념 02 화일 저장장치 03 화일 입출력 제어 04 순차화일 05 화일의 정렬 06 화일의 합병
Chapter 10– 표준 함수(1) Outline 10.1 스트림과 파일 10.2 입출력 표준 함수
Department of Computer Engineering
디바이스 드라이버 기초 디바이스 드라이버의 개요 파일 연산 디바이스 드라이버 등록 디바이스 드라이버 구성
C 프로그래밍 - 기본 비트 캠프.
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
C언어: 배열 (Arrays).
조 병 규 Software Quality Lab. 한국교통대학교
쉽게 풀어쓴 C언어 Express 제16장 파일 입출력 C Express Slide 1 (of 23)
HW#1 Source 파일 제출 3.20(수)까지 제출 학번_이름_01.c
Part 14 파일 입출력 ©우균, 창병모 ©우균, 창병모.
제15장 파일 입출력 문자열을 출력하는 여러가지 방법 (15-2쪽) 문자열만 처리하는 입출력 함수
쉽게 풀어쓴 C언어 Express 제16장 스트림과 파일 입출력 C Express.
Chapter 13 문자 데이터와 문자열 문자 데이터 문자열.
Using Standard I/O on Sockets
Department of Computer Engineering
fork로 생성한 자식 프로세스에서 exec 함수군을 호출
레이스 컨디션 컴퓨터공학과 4학년 이교욱.
21장. 문자와 문자열 처리 함수.
9장 파일 입출력.
처음으로 배우는 C 프로그래밍 제5부 추가적인 화제들 제 11 장 파일 처리.
Chapter 14 이진 데이터 파일과 임의 접근 데이터 파일 C 이진 데이터 파일 임의 접근 파일.
파일 기술자 복사 파일 기술자 복사 : dup(2) 파일 기술자 복사 : dup2(3)
12장 파일처리와 매크로 파일 입출력 함수 문자 입출력 함수 라인 입출력 함수 불록 입출력 함수 매크로.
하둡 기반 빅데이터 처리 방법.
Chapter 11 Strings.
Chapter 4. 보조자료 - 파일 입출력 파일의 기본 개념과 특징을 이해한다. 파일 처리 과정을 이해한다.
C언어 프로그래밍의 이해 Ch14. 파일 입출력.
11 표준 입출력과 파일 입출력 데이터를 읽고 쓰는 다양한 방법 익히기!.
Department of Computer Engineering
TCP/IP Socket Programming…
14주차.
10장 C 표준 파일 입출력 子曰 學而時習(실습?)之 不亦悅乎.
Chapter 13 Input/Output and Files
9장 파일 입출력.
18강 파일처리함수(2) 강 의 내 용 순차파일 만들기와 읽기 순차파일 입출력함수 랜덤파일 처리
Linux Programming Spring 2008
제 9장 입력과 출력 Hello!! C 언어 강성호 김학배 최우영.
Linux/UNIX Programming
24장. 파일 입출력.
Chapter 7 Text Files.
게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.
많은 자료가 있을 때는 배열을 사용한다. 아래는 배열을 사용하는 경우의 예시이다. 상황에 따라 1차원 또는 다차원 배열 필요.
Linux/UNIX Programming
파일 입출력.
Homework #7 (1/4) 다음 프로그램을 작성하고, 프로그램과 실행 결과를 함께 제출한다.
1학기 정리 지난 학기에 배운 내용을 복습해 본다..
구조체(struct)와 공용체(union)
실습과제 1번 생성된 파일 basic.txt를 프로젝트 폴더에서 메모장으로 열고 내용을 확인
9주차: Using Files and Others
C 13장. 입출력 라이브러리 #include <stdio.h> int main(void) { int num;
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
2019 1학기 응용프로그래밍 - 파일 처리 01 파일 열기 02 파일 저장과 내용 읽기 03 이진파일 처리 04 임의접근 파일 처리 05 파일 관련 함수들.
빠르게 활용하는 파이썬3 프로그래밍 Chapter 8. 입출력 안녕하세요, 파이썬의 세계에 오신 것을 환영합니다.
3장 파일 다루기 한빛미디어(주).
개정판 누구나 즐기는 C언어 콘서트 제12장 파일 입출력 출처: pixabay.
⊙ 입출력 처리란? data를 입력장치로부터 program 내부로 읽어 들이거나
Presentation transcript:

17강 파일처리함수(1) 강 의 내 용 1 2 3 4 파일 입출력의 개념 파일포인터를 이용한 입출력 파일 입출력 과정 강 의 내 용 1 파일 입출력의 개념 2 파일포인터를 이용한 입출력 3 파일 입출력 과정 4 순차파일 처리

파일 입출력의 개념 디스크의 파일에 대한 자료의 입력과 출력 파일처리함수를 사용하여 파일 입출력 수행 파일 입력 파일 출력 디스크 상의 특정 위치(파일)에 수록되어 있는 자료를 읽어 들여 기억공간에 수록하는 절차 파일 출력 기억공간에 있는 자료를 디스크 상의 특정 위치(파일)에 수록하는 절차 파일처리함수를 사용하여 파일 입출력 수행

파일 입출력의 개념 스트림(stream) 자료의 입출력을 위한 논리적인 통로 시 스 템 외부장치 (디스크) 프로그램 스트림(출력) 스트림(입력)

파일포인터를 이용한 파일 입출력 파일 포인터 파일처리를 위해서는 파일 포인터를 사용 - 파일이 어디에 있는지를 가리키는 포인터 - 모든 파일 입출력 함수는 파일 포인터를 사용

파일포인터를 이용한 파일 입출력 파일 입출력의 수행과정 2) 입출력을 수행한다. 3) 파일을 닫는다. 스트림(stream) 파일과 자료를 주고받을 수 있는 스트림을 생성(fopen()함수 사용) 1) 파일을 연다. 2) 입출력을 수행한다. 3) 파일을 닫는다. 생성된 스트림을 소멸시키기 위한 과정(fclose()함수 사용) 스트림(stream) - 파일과 프로그램과의 통로(논리적인 접속) - 파일포인터를 이용

파일포인터를 이용한 파일 입출력 파일 입출력 프로그램 구조 FILE *fp; fp=fopen(“파일명”, “모드”); 파일포인터 선언 파일 열기 <읽기  쓰기> 파일 닫기 FILE *fp; fp=fopen(“파일명”, “모드”); <입출력 수행> fclose(fp);

파일 입출력 프로그램의 구조 예 #include <stdio.h> void main() { char ch; ABCDEFGHIJKLMNOPQRSTUVWXYZ #include <stdio.h> void main() { char ch; FILE *fp; fp=fopen("sample.dat","w"); for(ch='A'; ch<='Z'; ch++) fputc(ch, fp); fclose(fp); } 파일 포인터 선언 파일 open 자료 출력 파일처리함수 파일 close

파일처리함수와 기능 함 수 기 능 fopen (“파일명”, “모드”) 파일을 지정된 모드로 열기 fclose() 파일을 닫기 함 수 기 능 fopen (“파일명”, “모드”) 파일을 지정된 모드로 열기 fclose() 파일을 닫기 fgetc(), getc() 파일로부터 한 문자 읽기 fputc(), putc() 파일에 한 문자 쓰기 fgets() 파일로부터 문자열 읽기 fputs() 파일에 문자열 쓰기 fscanf(fp) 파일로부터 정해진 형식에 따라 읽기 fprintf() 파일에 정해진 형식에 따라 쓰기 fread() 파일로부터 정해진 크기의 자료를 정해진 개수만큼 읽기 fwrite() 파일에 정해진 크기의 자료를 정해진 개수만큼 쓰기 fseek() 파일에서 입출력 위치를 이동 feof() 파일의 끝인가를 판별 ferror() 파일의 입출력 시 에러 발생 유무 조사

파일 포인터 선언 사용 예 : FILE *fp; 기능 : 파일형 포인터변수를 선언 파일 입출력을 위해서는 맨 처음 파일 포인터를 선언해야 한다. 이 파일 포인터는 실제 파일과 프로그램을 연결해 주는 통로가 된다. 형식 : FILE *변수명; 사용 예 : FILE *fp; 기능 : 파일형 포인터변수를 선언

파일포인터 변수와 버퍼의 관계 FILE *fa , *fb ; fa 프로그램 (fopen()함수에 의해 실제 파일 과 연결됨) 스트림(stream) (fopen()함수에 의해 실제 파일 과 연결됨) 버퍼 fa  fb 프로그램

파일 열기 형식 : fopen("파일명", "사용모드"); 사용 예 : fp=fopen("test.dat", "r"); 기능 : 파일을 열어 사용할 수 있게 함 fopen() 함수 - 지정된 파일의 파일포인터에 시작주소 값을 리턴 - 파일이 개방되지 않을 때는 NULL값을 리턴

파일열기에서의 사용모드 자료의 입출력방식을 의미하며, 개방한 파일의 용도를 결정짓는다. 텍스트 모드(text mode) - ASCII 문자들로 구성된 파일(원시 프로그램) - 문자 변환이 필요( \n↔ CR/LF ) 2진 모드(binary mode) - 원시프로그램을 컴파일하여 만들어진 파일 - 문자 변환이 불필요

파일열기에서의 사용모드 사용모드 의 미 파일이 있을 경우 파일이 없을 경우 “r”, “rb” 파일 읽기 정상 처리 의 미 파일이 있을 경우 파일이 없을 경우 “r”, “rb” 파일 읽기 정상 처리 NULL값 반환 “r+”, “rb+” 파일 읽기, 쓰기 겸용 “w”, “wb” 파일 쓰기 이전 내용 삭제 새 파일 생성 “w+”, “wb+” “a”, “ab” 파일 추가 이전 내용 뒤에 추가 “a+”, “ab+” 파일 읽기, 추가 겸용

파일열기에서의 사용모드 사용 예 fopen("파일명", "r") ; →텍스트 모드 입력 개방 fopen("파일명", "w") ; →텍스트 모드 출력 개방 fopen("파일명", "r") ; →텍스트 모드 입력 개방 fopen("파일명", "wb") ; →2진 모드 출력 개방 fopen("파일명", "rb") ; →2진 모드 입력 개방

파일 열기 예 void main(){ FILE *fp1, *fp2; fp1=fopen("a:\text.txt","w"); fp2=fopen("c:\source\test.c", "r"); } 파일 Open이 안될 경우를 고려해서 강제로 종료시켜야 함 if((fp=fopen("파일명", "사용모드") )==NULL) { fputs("파일을 열수 없음!"); exit(1); } 프로그램을 종료할 경우 사용하는 함수

파일 닫기 형식 : fclose(파일 포인터 변수); 사용 예 : : fclose(fp); - 개방된 통로와 버퍼를 원 상태로 환원 - 쓰기의 경우 파일 끝에 EOF( End Of File ) 신호를 부가

파일 열기와 닫기 예 void main() { FILE *fp1, *fp2; fp1=fopen("a:\text.txt", "w"); fp2=fopen("c:\source\test.c", "r"); ... fclose(fp1); fclose(fp2); } A드라이버 밑에 text.txt파일을 쓰기용으로 개 방하고 시작주소를 파일 포인터 fp1에 넘겨줌 파일 포인터 fp1과 fp2를 선언 C드라이버의 source디렉토리에 있는 test.c 파일을 읽기용으로 개방하고 시작주소를 파일포인터 fp2에 넘겨줌 열었던 파일을 닫고 파일포인터 fp1을 해제 열었던 파일을 닫고 파일포인터 fp2을 해제

순차파일 처리 파일의 종류 순차 파일(Sequencial file) 랜덤 파일(Random file) - 파일의 처음에서부터 자료를 차례로 읽고, 기록하는 파일 - 레코드의 길이가 일정하지 않은 파일 랜덤 파일(Random file) - 파일의 임의의 위치에서 자료를 읽고, 기록하는 파일 - 레코드의 길이가 일정한 파일

순차파일의 레코드 구성 \n (개행문자) 레코드(record) 레코드1 CR/LF 레코드2 레코드3 파일 입출력처리에 사용되는 논리적인 기본단위 각 레코드들은 필드(field)들로 구성 순차파일에서는 일정하지 않은 레코드를 구별해야 함 레코드1 CR/LF 레코드2 레코드3 텍스트 모드일 경우 자동으로 변환 \n (개행문자)