#include <Windows.h>
#include <stdio.h>
int count = 0;
FILE* pFile = 0;
long Size = 0;
void *memfrob(void * s, size_t n)
{
char *p = (char *) s;
while (n-- > 0)
*p++ ^= 42;
return s;
}
int main()
{
fopen_s(&pFile, "***", "r+");
fseek(pFile, 0, SEEK_END);
Size = ftell(pFile);
char *buffer = (char*)malloc(Size);
memset(buffer, 0, Size);
fread(buffer, Size, 1, pFile);
fclose(pFile);
memfrob(buffer, Size);
fopen_s(&pFile, "***", "w+");
fwrite(buffer, Size, 1, pFile);
fclose(pFile);
}
嗨,fread没有从文件到缓冲区读取任何内容,我无法弄清楚原因。有人能给我一个暗示或推动正确的方向吗?
答案 0 :(得分:11)
你需要先寻找文件的开头。
答案 1 :(得分:4)
你在文件的最后做了一个fseek,并且在你做这个恐惧之前没有回来。