fread가 Win7 x64에서 예기치 않게 작동합니다.Windows fread unexpected behavior
length = fread(buffer, 1, fileSize, file);
FREAD 이는 파일 크기는과 같이 동일한 개수의 바이트를 리턴
file = fopen(path, "rb");
fseek(file, 0, SEEK_END);
fileSize = ftell(file);
fseek(file, 0, SEEK_SET);
buffer = malloc(fileSize);
length = fread(buffer, fileSize, 1, file);
FREAD는 반면 판독되는 1 바이트로 리턴 (ferror 함수와 무엇이 일어 났는지를 결정하기 위해 feof 모두 0을 리턴). MSDN은 "fread 함수는 입력 스트림에서 size 바이트의 항목을 계산하여 버퍼에 저장합니다."라고 말합니다. 어느 코드가 동일한 양의 데이터를 읽어야한다는 것을 의미하는 것으로 해석합니다. 누구도 내가 기대하는대로 왜 fread가 작동하지 않는지 알고 있습니까?
고맙습니다. – Matt