본문 바로가기
Embedded Programming/C Examples

파일 입출력(File Input/Output) 소스

by 중동콜링 2013. 3. 22.

#include <stdio.h>

int main()
{
  int score;
  char name[10];
  FILE *fpin, *fpout;  // 파일 구조체 포인터 생성

  // fpin과 fpout은 ""라는 파일명의 파일 주소를 가진다. "r" : read only
  fpin = fopen("d0327in.txt""r");  
  // fopen() : 파일을 열어주는 함수
  if (0 == fpin)// 0 = fpin으로 잘못 입력하면 컴파일러가 오류를 찾아준다.
  {
    printf("d0327in.txt 파일을 열 수 없습니다.\n");
    return 0;
  }else 
    printf("d0327in.txt 파일이 열렸음\n");
      

  // d0327out.txt를 open. "w": write      
  fpout = fopen("d0327out.txt""w");
  if (0 == fpout)
  {
    printf("d0327out.txt 파일을 열 수 없습니다.\n");
    fclose(fpin);
    // fpin이 한번 열렸으므로 닫아준다.
    return 0;
  }else
    printf("d0327out.txt 파일이 열렸음\n");

  // feof() : 파일의 끝을 알아보는 함수(File End Of File)
  //  참  : 파일 끝(Ctrl+Z : (Ascii 26번) 치환문자)임 -> 1을 리턴
  //  거짓: 파일 끝 아님 -> 0을 리턴
  while (0 == feof(fpin))//(!feof(fpin))
  {
    fscanf(fpin, "%s %d", name, &score);
    fprintf(stdout, "%s\t%d\n", name, score);
    // 출력할 곳 지정가능
    fprintf(fpout, "%s\t%d\n", name, score);  
  }
  fclose(fpin);
  fclose(fpout);
    
  return 0;
}