fread 함수는 매개변수로 버퍼,몇 바이트씩 읽을것인지,몇개 읽을 것인지, 파일 포인터 이다.
ex)
#include <stdio.h>
#include <string.h>
int main()
{
FILE *Test=0,*Test2 = 0;
char buffer[1000] = {0,};
char * freadData = 0;
int i = 0;
int count = 0;
Test = fopen("book.txt","r+t");
Test2 = fopen("book2.txt","w+t");
for(;!feof(Test);)
{
count++;
i = fread(buffer,1,1000,Test);
//fgets(buffer,1000,Test);
printf("실제 내용 : %d \n",i);
// if(freadData == NULL) break;
i = fwrite(buffer,1,i,Test2);
printf("기록된 내용 : %d \n",i);
//fputs(buffer,Test2);
}
printf("count:%d\n",count);
return 0;
}
인 소스가 있을때 fread 함수는 파일을 1000 바이트 까지 한번에 버퍼에 다 읽는다 .
그리고 리턴 값으로 NULL을 제외한 읽은 데이터 값의 횟수를 리턴 한다.
이 리턴값을 이용하여 fwrite 값의 몇개까지 쓸것인지 부분에 넣어 주면 된다 .
그리고 feof() 함수는 파일의 마지막을 가르킬때 TRUE를 가르킨다.
fread 함수가 몇번 돌았는지를 확인하는 부분이 마지막 printf("count:%d\n",count) 이다 .
자 그럼 fgets 과 fputs는 어떡한가 ?
한줄씩 읽어 오고 출력함으로 파일이 몇줄인가에 따라 그 획수 만큼 돈다는것이다 ^^
'Soft Ware > C 언어!!' 카테고리의 다른 글
fseek 사용하기 ^^ (0) | 2012.01.30 |
---|---|
fprintf 와 fscanf 사용하기 !!! (0) | 2012.01.30 |
fgets / fputs 사용하기 !!! (0) | 2012.01.30 |
file open 과 fileclose 에 대해서 (0) | 2012.01.30 |
파일 입/출력을 공부 하기전 스트림에 대해서 !!! (0) | 2012.01.30 |