#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 没有从文件到缓冲区读取任何内容,我不知道为什么。有人能给我一个提示或插入正确的方向吗?

最佳答案

您需要在 fread 之前返回到文件的开头。

关于c - fread() 没有写入缓冲区,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3744035/

10-11 20:57