파일 입출력 함수

파일 입 출력 함수들






























  키보드/모니터 선택(키보드/모니터,파일)
문자출력 int purchar(int c) int fputc(int c, FILE* stream)
문자입력 int getchar(void) int fgetc(FILE* stream)
문자열 출력 int puts(const char* s) int fputs(const char* s, FILE* stream)
문자열 입력 char* gets(char* s) char* fgets(char* s,int n, FILE* stream)
형식 지정 출력 int printf(const* format, ...) int fprintf(FILE* stream, cnost char* format,...)
형식 지정 입력 int scanf(const char* format, ...) int fscanf(FILE*stream, const char* format,...)

puts("Dont' worry!"); // puts는 모니터상으로 출력
fputs("dont'w worry!\n", stdout); // stdout 스트림을 활용 모니터에 출력
fputs("dont worry!\n", file); // file 스트림을 활용.. fopen을 통해 개방된 파일에 저장

char buf[30];

fputs("데이터 입력: ", stdout);
fgets(buf, sizeof(buf), stdin); //buf 배열에 stdin을 통해 문자열을 입력 후 ENTER
puts(buf); //buf에 저장된 문자열을 출력

fgets(buf,sizeof(buf), file); // buf배열에 file의 문자열을 buf의 크기 한도 내에서 저장
puts(buf); // buf를 출력

파일 입 출력 함수와 FILE 구조체 변수----------------------------
파일위치 지시자...File Position Indicator
fgetc, fgets등을 여러번 호출하면 이전에 호출했던 위치에서 이어서 호출이 된다.
이러한 일이 가능한 것은 파일을 어디까지 읽었는지 어디까지 섰는지 그 위치를 기억하고 있다는 뜻.

= 파일을 개방하는 경우 이에 대한 FILE 구조체 변수의 포인터가 리턴되고, 그 포인터가 가리키는 구조체 변수 내에는 '파일 위치 지시자'에 해당하는 변수가 존재한다. 이 변수는 파일 내의 위치 정보를 지니고 있으며, 이 변수의 값은 파일에서부터 데이터를 읽거나 쓰는 경우 변경된다.

--------------파일의 끝에 도달한 경우 리턴------------
fgetc --> EOF(-1)을 리턴
fgets --> NULL포인터 (0)
fscanf --> EOF(-1)

----------feof  파일의 끝을 검사하는 함수---------
#include <stdio.h>
int feof(FilE*stream)

~~~~~~~~~~~~~~
file=fopen("Test.txt","rb"); //읽기전용 파일 개방
if(file==NULL){
  printf("file open error!\n");
  return 1;
}

while(1)
{
  ch=fgetc(file);
  if(feof(file)!=0)  //feof함수를 활용해 파일을 끝을 검사하고 break로 종료
    break;
  printf("data : %c \n", ch);
}
//여기서 파일을 종결하면 됨
state=fclose(file);
if(state!=0){
  printf("file close error!\n");
  return 1;
}
return 0;

Leave a Reply

Your email address will not be published. Required fields are marked *

 characters available

+ 30 = 39