fwrite()
을 사용하여 루프의 파일에 데이터를 씁니다. 40 번 반복되지만 처음에는 fwrite()
마지막 몇 KB가 파일에 기록되지 않습니다. 연속적인 fwrite()
이 정상적으로 작동하는 반면, 단일 청크로 실행하면 4000 바이트 fwrite()
이 4000을 반환하지만 파일 내용은 4000 (약 3000 바이트) 미만입니다. perror()
에도 오류가보고되지 않습니다. 친절하게 도와 주시고 진심으로 감사드립니다.fwrite() 반환 값이 파일 크기와 일치하지 않습니다.
0
A
답변
6
fwrite
은 파일에 쓰지 않습니다. 이 함수는 버퍼링 된 파일 스트림에 씁니다. fclose
으로 파일을 닫거나 fflush
으로 버퍼를 플러시 할 때 버퍼가 디스크로 플러시됩니다. 해당 기능을 사용하여 버퍼를 비 웁니다.
버퍼는 좋은 성능을 얻기 위해 사용됩니다. 성능이 문제가 아니며 디스크에 직접 쓰기가 필요한 경우 버퍼를 비활성화하려면 setbuf
또는 setvbuf
기능을 사용할 수 있습니다. (Barmar의 의견에 감사드립니다).
+1
'setbuf()'를 사용하여 버퍼링을 비활성화 할 수도 있습니다. – Barmar
관련 문제
- 1. HTML5 비디오 크기와 포스터 크기가 일치하지 않습니다.
- 2. 암호화 된 파일 크기 계산이 실제 크기와 일치하지 않습니다.
- 3. Android : 카메라의 크기가 화면의 크기와 일치하지 않습니다.
- 4. 안드로이드 drawing.xml이 비트 맵 크기와 일치하지 않습니다.
- 5. UIImagePickerController 미리보기 크기가 실제 크기와 일치하지 않습니다.
- 6. 입력 텍스트 필드의 길이가 크기와 일치하지 않습니다
- 7. QLabel은 런타임 중에 디자이너의 크기와 일치하지 않습니다.
- 8. iOS 8 UIScrollView가 콘텐츠 크기와 일치하지 않습니다.
- 9. 콘텐츠 길이가 쓰기 크기와 일치하지 않습니다.
- 10. 스레드 반환 값이 예상 된 결과와 일치하지 않습니다.
- 11. Java 오브젝트 값이 일치하지 않습니다.
- 12. 삼각법 값이 현실과 일치하지 않습니다.
- 13. 모델 속성 값이 일치하지 않습니다.
- 14. file_operations.write의 반환 값이 준수되지 않습니다.
- 15. fwrite 작동 fwrite 않습니다? 이 권한
- 16. fwrite() 파일 손상 C++
- 17. 파일 검색이 일치하지 않습니다
- 18. DateAdd 반환 값이 올바르지 않습니다.
- 19. FWRITE() 특정 위치에 파일 저장
- 20. 아이소 메트릭 큐브, 크기가 타일 크기와 일치하지 않습니다. 128x128
- 21. 정의 된 크기가 화면의 실제 크기와 일치하지 않습니다.
- 22. Matlab 통합 오류 : Integrand 출력 크기가 입력 크기와 일치하지 않습니다.
- 23. 커밋 후 도커 이미지 크기가 컨테이너 크기와 일치하지 않습니다.
- 24. 지정된 초기화 벡터 (IV)가이 알고리즘의 블록 크기와 일치하지 않습니다.
- 25. Windows 디자이너 코드의 양식 크기가 속성 창의 크기와 일치하지 않습니다.
- 26. 지정된 초기화 벡터 (IV)가이 알고리즘의 블록 크기와 일치하지 않습니다.
- 27. Reportlab 텍스트 배경 크기가 글꼴 크기와 일치하지 않습니다.
- 28. GZip 바닥 글의 스트림 크기가 실제 스트림 크기와 일치하지 않습니다.
- 29. 요청 개체의 브라우저 유형 값이 일치하지 않습니다.
- 30. 값이 0 인 열에서 키가 일치하지 않습니다.
코드의 ** 최소 ** 컴파일 가능한 예를 제공해주십시오. – Jens
당신이 작성한 코드에 대해 야생의 추측을하는 것은이 바이너리 데이터입니까? 그리고 바이너리로 열어 파일에 쓰고 있습니까 (예 :'fopen ("filename", "wb");')? –