본문 바로가기

프로그래밍/c언어

기초중기초(파일입출력)


1.파일을 열기 위해서는 가장 먼저 파일 포인터변수를 선언해야된다.
 FILE *변수명;//변수명==파일포인터

2.파일 포인터를 선언했으면 이제 파일을 열기 위한 함수를 사용해야된다.
파일포인터=fopen("파일이름.확장자","열기모드");
   열기모드종류
r : 읽기 전용
w:파일이 없다면 새로 생성하고 파일이 있으면 덮어쓴다
a:파일이 없다면 새로 생성하고 파일이 있으면 기존파일에 이어쓴다.
3.파일을 읽고 쓰기.

4.파일과 관련된 모든 작업이 끝나면 꼭 파일을 정상적으로 닫아줘야 한다.
fclose(파일 포인터);

이젠 과정 3 파일 읽고 쓰기에 관해 알아볼 것이다.

fgets() : 파일로부터 값을 입력 받을 떄 사용.
            fgets(문자배열,읽어올 최대 문자수,파일포인터); 
예를 들어 c드라이브에 있는 data.txt 파일에 first란 글자를 읽어오고 싶으면 다음과 같다.
ex)
----------------------------------------------
FILE *fp;
char s[20];//임시로 20개 정해준 값
fp=fopen("c:\\data.txt","r");
fgets(s,19,fp);
fclose(fp);
----------------------------------------------

fscanf(): 서식을 지정하여 파일 읽음.
             fscanf(파일 포인터,"서식",입력할 매개변수들);
예를들어 c드라이브에 있는  data.txt 파일에 124/23/123 숫자들을 합하는 프로그램을 작성해보면 다음과 같다   
ex)
----------------------------------------------
FILE *fp;
int i,hap=0;
int a; //변수로 지정
fp=fopen("c:\\data.txt","r");
for(i=0;i<3;i++)
{
    fscanf(fp,"%d",&a)
    hap=hap+a;
}
printf("합계 ==>%d\n",hap);
fclose(fp);
----------------------------------------------
       
fputs():파일에 문자열 출력
         fputs(입력할 데이터,파일 포인터);
         화면에 출력하는 대신 파일에 내용을 쓰는 함수.
예를들어 c드라이브에 있는  data.txt 파일에 문자열을 입력하는 경우는 다음과 같다.

ex)
----------------------------------------------
FILE *fp;
char s[20];

fp=fopen("c:\\data.txt","a");
printf("문자열 입력:");
gets(s);

fputs(s,fp);
fclose(fp);
----------------------------------------------
fprintf():수식/서식을 지정하여 파일 출력
          파일에 숫자를 출력하는 경우에는 서식을 지정할 수 있는 fprintf()를 사용한다.
          fprintf(파일포인터,"서식",출력할 매개변수);
ex)
----------------------------------------------
FILE *fp;
int i;
fp=fopen("c:\\data.txt","a");
printf("숫자 입력:");
scanf("%d",&i);
fprintf(fp,"%d",i);
fclose(fp);
----------------------------------------------

'프로그래밍 > c언어' 카테고리의 다른 글

typedef  (0) 2011.02.02
fflush(stdin);  (0) 2011.01.08
도서관리프로그램  (0) 2011.01.08
BMI비만도측정 프로그램  (0) 2011.01.07
c언어 학교선배 시험  (0) 2011.01.07