fwrite 입력안됨 해결법

su_jin1127·2021년 4월 11일
0

바이너리 타입으로 파일을 쓰고

fopen("filename", "wb");

쓴 파일에 제대로 입력이 되었는지 확인하기 위해

fread("filename", "rb);

를 실행했는데 출력으로 0이 나오고 이상한 숫자들도 나오고 막 이래서 이 오류를 찾으려고만 3시간동안 서칭했다ㅠㅠ

그래서 내가 발견한 해결방법은...!!!

fopen 해주면 바로 fclose 해주기!!

다양한거잖아?? 할 수도 있지만 진짜 별거 아니었어서 오히려 감사했다.

FILE* bfp = fopen(argv[2], "wb");
fwrite(&n, sizeof(int), 1, bfp);

FILE* tfp = fopen(argv[2], "a");
fwrite(record, sizeof(record), 1, tfp);

fclose(bfp);
fclose(tfp);

이렇게 코드를 짜면 안되는거다. 무조건

FILE* bfp = fopen(argv[2], "wb");
fwrite(&n, sizeof(int), 1, bfp);
fclose(bfp);

FILE* tfp = fopen(argv[2], "a");
fwrite(record, sizeof(record), 1, tfp);
fclose(tfp);

이렇게 작성해줘야만 한다.

profile
Anyone can be anything.

관심 있을 만한 포스트

0개의 댓글