파일

2004/12/13 07:03
Ⅰ 텍스트 파일와 이진 파일
1. 텍스트 파일(ASCII file)
① ASCII 문자들로만 구성되어진 파일.
② 연속된 모든 문자들이 일차원적으로 나열.( \n 등도 포함 )
③ EOF로 끝남

2. 이진 파일(binary file)
① 모든 데이터가 있는 그대로, 연속적으로 저장되어 있다.

Ⅱ C에서의 파일 제어 개념
1. C언어는 컴퓨터의 주변장치(키보드, 화면, 프린터 등)를 모두 하나의 파일로 취급한다.
2. 스트림(stream) :: C에서 입출력 동작을 수행할 때 사용하는 개념적인 데이터 이동 체계.
3. FILE* 타입의 변수를 선언해 사용 ( stdio.h 에 정의 )
① 실제 파일 처리를 관리하기 위해 시스템이 필요한 정보를 저장하는 사용됨
② 시스템마다 다양한 파일 시스템 구조의 차이를 극복할 수 있게 함
표준적인 조작 방법을 제공
4. C언어의 표준 스트림
① stdin :: 표준입력. 키보드
② stdout :: 표준출력. 화면
③ stderr :: 표준에러. 화면
④ stdprn :: 표준 프린터, 프린터
⑤ stdaux :: 표준 외부장치, 직렬포트

Ⅲ 파일 열고 닫기
1. fopen()
① filePointer = fopen( filename, mode );
② filename : 파일이름을 나타내는 문자열
③ mode : 데이터 전송 방식을 기술하는 문자열
ⓐ "r" :: read
- 읽기모드. 이미 존재하고 있는 파일이어야 한다.
ⓑ "w" :: write
- 쓰기모드. 존재하지 않으면 새로 생성. 존재하는 파일이면 overwrite
ⓒ "a" :: append
- 추가모드. 이미 존재하는 파일이면 덧붙여씀.

2. fclose()
① fclose( filePointer );
② open 한 파일은 반드시 close 하자!

Ⅳ 문자 입출력
1. getc()
① int getc( FILE *infile );
② 파일에서 한 문자를 읽어 그 값을 retrun.

2. putc()
① int putc( int ch, FILE *outfile );
② 지정한 파일에 한 문자(첫번째 인수)를 출력

Ⅴ 줄단위 입출력
1. fgets()
① char* fgets( char buffer[], int bufSize, FILE* infile );
② infile이 가르키는 파일의 내용을 읽어 buffer에 저장.
③ \n을 만나거나 bufSize만큼 읽을때까지.
④ 읽혀진 마지막 문자는 ‘\n’
⑤ buffer에 읽혀진 문자 다음에 ‘\0’ 삽입
⑥ 파일의 끝에서 호출되면 NULL을 리턴

2. fputs()
① void fputs( char* str, FILE* outfile);
② str이 가르키는 문자열의 내용을 outfile이 가르키는 파일에 write

Ⅵ 형식화된 입출력
1. printf()
① printf( control_string, … );
② 항상 표준출력(stdout)에 출력

2. fprintf()
① fprintf( output_stream, control_string, … );
② 첫번째 인수로 FILE* 를 취함. 그 파일에 출력

3. sprintf()
① sprintf( character_array, control_string,… );
② 첫번째 인수로 문자 배열(char *)을 취함. 그 배열에 출력

4. scanf()
① scanf( control_string, … );
② 항상 표준입력(stdin)에서 읽어들임

5. fscanf()
① fscanf( input_stream, control_string, … );
② 첫번째 인수로 FILE* 를 취함. 그 파일에서 읽어들임

6. sscanf()
① sscanf( character_array, control_string, … );
② 첫번째 인수로 문자 배열(char *)을 취함. 그 배열에서 읽어들임

7. scanf 계열 함수.
① 리턴값 :: 성공적으로 매칭되어 읽혀진 갯수
② 투명 문자(space, ‘\t’, ‘\n’)가 나타나면 scanf는 다음의 투명 문자가 아닌 문자 전까지 넘어간다
③ 숫자필드 크기(%기호뒤의..)는 필드에서 읽을 문자의 최대값을 나타냄

int: %d
float: %f(=%e =%g)
double: %lf
%c: 한 문자, 투명 문자도 읽어들임
%s: 첫 투명문자가 나오기 전까지의 문자열
%[ … ], %[^… ]
%[0123456789] : 숫자들을 문자열로 read
%[^.!?] :: ^뒤의 문자가 나오기전까지 read( ^뒤의 문자는 안읽는다.)
크리에이티브 커먼즈 라이센스
Creative Commons License
2004/12/13 07:03 2004/12/13 07:03


http://basecom.kr/trackback/146

Leave a Comment
블로그이미지
About
basecom

Recent Trackback




420713
Today : 56   Yesterday : 116