Presentation is loading. Please wait.

Presentation is loading. Please wait.

파일 입출력.

Similar presentations


Presentation on theme: "파일 입출력."— Presentation transcript:

1 파일 입출력

2 파일(File)이란? 컴퓨터에서 데이터의 모임으로 보조 기억 장치에 저장된 것 C언어에서 파일의 정의
컴퓨터에서 데이터의 모임으로 보조 기억 장치에 저장된 것 C언어에서 파일의 정의 디스크상의 파일뿐 만 아니라 키보드 입력, 디스플레이 장치 표시도 「파일」이라는 개념을 사용하여 공통화하였다. cf. 표준 입출력 파일

3 파일의 종류 텍스트(Text) 파일 바이너리(Binary) 파일 문자로서 읽을 수 있는 파일  ASCII파일
자동적으로 행 바꿈 문자 등 해석 바이너리(Binary) 파일 ASCII 문자표로 판독이 불가한 8비트 데이터들로 쓰여진 파일 보통, 프로그램에 의해서만 판독 가능한 형식 예: 실행파일(.exe), 워드파일(.doc) 등 압축 또는 구조화되어 있는 경우가 많다. 예: mp3파일, mpeg파일 등

4 파일을 다루는 순서 ① 파일 포인터 선언 ② 파일 열기 ③ 파일 읽기 or 쓰기 ④ 파일 닫기 예: FILE *fp ;
예: fp = fopen( “test.txt”, “r”); ③ 파일 읽기 or 쓰기 예: fprintf( fp, “%2d”, 10) ; ④ 파일 닫기 예: fclose( fp ) ;

5 파일 포인터 파일 포인터란? 파일 포인터 선언 파일의 읽고 쓰기를 시작할 수 있는 위치를 나타내는 표시
FILE 구조체의 포인터 FILE구조체 : 디바이스(device)와 데이터를 주고 받기 위한 I/O버퍼 등 필요한 정보들을 모아놓은 구조체 파일 포인터 선언 예: FILE *fp ; // fp : 파일 포인터

6 파일 열기 파일 오픈 해당 파일 이름으로 파일 열기에 성공하면, FILE 구조체 변수의 주소값을 반환하고, 실패하면 NULL을 반환한다. 예: fp = fopen( “test.txt”, “r”); if( !fp ) exit(1) ; 오픈 모드 오픈 모드 = 파일 접근모드 + 파일 종류 파일 접근모드 “r”: 읽기, “w”: 새 파일에 쓰기, “a”: 기존파일에 추가하기 파일 종류 “t”: 텍스트 파일, “b”: 바이너리 파일

7 텍스트 파일 쓰기 오픈 모드 “w” 지정한 서식으로 쓰기 예: FILE *fp ;
fp = fopen( “test.txt”, “w”); 지정한 서식으로 쓰기 int a = 5; fprintf( fp, “%2d\n”, a) ; fprintf( fp, “Hello”) ; // printf( )와 비교

8 텍스트 파일 읽기 오픈 모드 “r” 한 줄씩 읽기 지정한 서식으로 읽기 예: FILE *fp ;
fp = fopen( “test.txt”, “r”); 한 줄씩 읽기 행바꿈 코드까지 or 지정된 최대 문자만큼 fgets( s, 9, fp ) ; 지정한 서식으로 읽기 fscanf( fp, “%d”, &a) ;

9 feof( ) 파일의 끝을 체크하기 위한 함수 예제 : 텍스트 파일 전체 읽기
파일 포인터의 위치가 파일의 맨 끝(end of file)이면 참이 된다. 예제 : 텍스트 파일 전체 읽기 while( 1 ) { fgets(s, 255, fp); if( feof( fp ) ) break; printf(“%s”, s); }

10 바이너리 파일 쓰기 오픈 모드 “wb” 쓰기 예: fp = fopen( “test.dat”, “wb”);
int buf[ ] = { 10, 20, 30 }; fwrite( buf, sizeof( int ), 3, fp ) ; 실제로 써넣은 횟수 반환 Error Check : 지정한 횟수와 반환값 틀릴 때

11 바이너리 파일 읽기 오픈 모드 “rb” 읽기 예: fp = fopen( “test.dat”, “rb”);
int buf[10] ; fread( buf, sizeof( int ), 3, fp ) ; 실제로 읽은 횟수 반환 Error Check : 지정한 횟수와 반환값 틀릴 때

12 표준 입출력 파일 표준 입출력 파일이란 stdout(표준출력)  화면 표시
디스크상의 파일뿐 만 아니라 키보드 입력, 디스플레이 장치 출력도 「파일」을 처리하는 방식으로 데이터를 주고 받도록 한 것이다. stdin, stdout 등의 파일 포인터가 프로그램 시작과 동시에 자동으로 오픈되어 제공된다. stdout(표준출력)  화면 표시 fprintf( stdout, “%d”, 10); == printf(“%d”, 10); cf. stdin(표준입력)  키보드 입력

13 rand()함수1 p206 난수 발생기 씨앗값(seed) 지정 난수란 규칙성이 없는 숫자를 말한다.
0 <= rand( )함수 <= RAND_MAX : 이 범위의 정수값 발생 (stdlib.h필요) 씨앗값(seed) 지정 srand( time(0) ); // 난수 발생 기준값 time(0) // 초단위 정수값으로 현재 시간 반환

14 rand()함수2 난수 발생 수식 실습 N = a + b*(rand()%c)
: a <= N <= (a + b*(c-1)) 사이의 값으로 a에서 시작해서 b간격으로 c개수 만큼 실습 20에서 100까지 10간격으로 난수를 발생시켜 3개의 값을 화면에 출력하시오.

15 실 습 Random 수를 텍스트 파일에 쓴다. Random 수가 저장된 텍스트 파일을 읽어 모든 값을 출력한다.
파일명, 데이터 개수를 입력 받는다. 0 ~ 99 사이의 랜덤값 생성. Random 수가 저장된 텍스트 파일을 읽어 모든 값을 출력한다. 파일명을 입력 받는다. 데이터 개수와 데이터를 출력한다.

16 End


Download ppt "파일 입출력."

Similar presentations


Ads by Google