c언어 fread,fwrite 사용예제 질문.

c언어 fread,fwrite 사용예제 질문.

작성일 2015.08.05댓글 2건
    게시물 수정 , 삭제는 로그인 필요

int main()
{
FILE *src=fopen("t.txt","rb");
FILE *des=fopen("a.txt","wb");
char buf[20];
int readCnt;

if(src==NULL||des==NULL)
{
puts("파일오픈 실패!");
return -1;
}
while(1)
{
readCnt=fread((void*)buf,1,sizeof(int),src);

if(readCnt<sizeof(buf))
{
if(feof(src)!=0)
{
fwrite((void*)buf,1,readCnt,des);
puts("파일복사 완료");
break;
}
else
puts("파일복사 실패!");
break;
}
fwrite((void*)buf,1,sizeof(buf),des);
}
fclose(src);
fclose(des);
return 0;
}

1. 이 상태로 디버깅하면 파일복사실패라 하는데 t.txt 안에 내용이 어떻게 해야되길래 자꾸 에러가 뜨는거죠? ( t.txt 내용은  abcdgdgseg  한줄 입니다.)
2. 위 코딩 해석좀요.
3. feof, fread, fwrite 이해하기 쉽게 설명해주세요.


#c언어 fread fwrite

profile_image 익명 작성일 -


우선, 제 멋대로 바꿔본 소스입니다.

문자열을 읽고 쓰는 함수라면 fread와 fwrite보다는 fgets, fputs가 더 적합하다 생각하기 때문에

위의 코드처럼 바꿔봤습니다.

feof는, 현재 파일 포인터의 위치가 파일의 끝일 경우 0이 아닌 값을, 파일의 끝이 아닌 경우 0을 반환하는 함수입니다.

위의 코드에선 feof가 0이 아닐 경우 즉, 파일의 끝일 경우 파일 복사를 했기 때문에 파일복사 실패가 떴던 것입니다.

fread와 fwrite는 파일에서 메모리 자체를 읽어오는 함수라 할 수 있습니다.

보통, 구조체 포인터 등을 파일에 저장하고 읽어올 때 사용합니다.


profile_image 익명 작성일 -

안녕하세요^^


IT공부카페를 운영하고 있는 매니저입니다^^


IT관련 진로, 진학, 자격증, 취업, 특기병, 전공대비, 국비지원등등


공부자료와 동영상강의등 도움될만한 많은 정보들이 나와 있으니


 관심있으신분들이라면 누구나 놀러오셔서 공유하시면 좋을것 같습니다ㅎㅎ


그 외에 궁금증이나 질문사항 있으시다면 쪽지나 메일, 카톡으로 문의주시면


친절하게 성심성의껏 답변해드리도록 하겠습니다^^

c언어 fread,fwrite 사용예제 질문

... 위에 코드중간에 있는 1번질문에 readCnt값은 뭐가나올까요? 그리고 그 이유도.. 2. 그리고 fread,fwrite첫번째 인자에 void*를 쓰는 이유가 뭐죠? 3. 위...

c언어 fread,fwrite 사용예제 질문.

... feof, fread, fwrite 이해하기 쉽게 설명해주세요. [code] #include <stdio.h... 보통, 구조체 포인터 등을 파일에 저장하고 읽어올 때 사용합니다.

C언어 포인터, fread/fwrite관련 질문

... fread(&test2, sizeof(test2), 1, f); printf("%0.2lf %0.2lf %0.2lf", test2[0], test2[1], test2[2]... 첫번째 인자로 test 를 사용하고 싶으면, fwrite(test, sizeof(test[0]), 3, f); 으로...

c언어 fwrite,fread함수

... 확실히 사용할수있도록 설명해주시면 내공많이드릴께요, 제가알고싶은내용은 fwrite(?,?,?,?) fread(?,?,?,?)... 적지말고 예제같은걸로도,,, 그리고 특히...

C언어.fread()와 fwrite()질문

fread()와 fwrite() 사용하는 소스에서 파일열때 모드는?? 1번. 바이너리 모드로 열어야 한다. 2번. 텍스트 모드로 열어야 한다. 3번. 어느것이나 차이는 없다. 4번. 사용방법에...

fwritefread로 파일 복사하는 법

안녕하세요 학교에서 c언어를 배우는 대학교... 배웠는데 fread-fwrite를 제대로 쓰는 법을 모르겠습니다 다음 예제를 좀 도와주시면...

c언어 fread

c언어 에서 fread를 구조체와 함께 사용할때... 땐 fwrite사용해야 합니다. '유사한' 경우를 말로 설명해서 질문하면 받을 수 있는 건...

[c언어] fread 함수 오류 질문입니다.

... 진도는 바이너리 함수 중에 있기때문에 바이너리 함수를 사용하고... fwrite(&dt[i], sizeof(dt), 1, fp); fread(&dt2[i], sizeof(dt2), 1, fp); 여기서 sizeof(dt)...