我正在尝试从文件中读取字节,但是大小已损坏。调试时,我可以看到st.st_size
的值,但我无法读取size
的值。
int main(void)
{
FILE* oud;
struct stat st;
_off_t size;
unsigned* bytes;
char const path[] = "C:\\Users\\Ruben\\Documents\\test.txt";
errno_t error;
if ((error = fopen_s(&oud, path, "rb" )) != NULL)
return -1;
stat(path, &st);
size = st.st_size;
bytes = (unsigned*)malloc(size);
fread(bytes, 1, size, oud);
fclose(oud);
getchar();
return 0;
}
答案 0 :(得分:0)
我建议使用循环并迭代每个字节的文件字节,检查EOF字符。一旦找到它,您现在就知道文件的实际大小,并且可以从一开始就适当地读取它,将其放入缓冲区或其他位置。