Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
fread()不是';t写入缓冲区 #包括 #包括 整数计数=0; 文件*pFile=0; 长尺寸=0; void*memfrob(void*s,尺寸n) { char*p=(char*)s; 而(n-->0) *p++^=42; 返回s; } int main() { fopen_s(&pFile,“***”和“r+”); fseek(pFile,0,SEEK_END); 大小=ftell(pFile); char*buffer=(char*)malloc(大小); memset(缓冲区,0,大小); fread(缓冲区,大小,1,pFile); fclose(pFile); memfrob(缓冲区、大小); fopen_s(&P文件,“***”和“w+”); fwrite(缓冲区,大小,1,pFile); fclose(pFile); }_C_Windows_Fread - Fatal编程技术网

fread()不是';t写入缓冲区 #包括 #包括 整数计数=0; 文件*pFile=0; 长尺寸=0; void*memfrob(void*s,尺寸n) { char*p=(char*)s; 而(n-->0) *p++^=42; 返回s; } int main() { fopen_s(&pFile,“***”和“r+”); fseek(pFile,0,SEEK_END); 大小=ftell(pFile); char*buffer=(char*)malloc(大小); memset(缓冲区,0,大小); fread(缓冲区,大小,1,pFile); fclose(pFile); memfrob(缓冲区、大小); fopen_s(&P文件,“***”和“w+”); fwrite(缓冲区,大小,1,pFile); fclose(pFile); }

fread()不是';t写入缓冲区 #包括 #包括 整数计数=0; 文件*pFile=0; 长尺寸=0; void*memfrob(void*s,尺寸n) { char*p=(char*)s; 而(n-->0) *p++^=42; 返回s; } int main() { fopen_s(&pFile,“***”和“r+”); fseek(pFile,0,SEEK_END); 大小=ftell(pFile); char*buffer=(char*)malloc(大小); memset(缓冲区,0,大小); fread(缓冲区,大小,1,pFile); fclose(pFile); memfrob(缓冲区、大小); fopen_s(&P文件,“***”和“w+”); fwrite(缓冲区,大小,1,pFile); fclose(pFile); },c,windows,fread,C,Windows,Fread,嗨,fread没有从文件到缓冲区读取任何东西,我不知道为什么。有人能给我一个提示或向正确的方向推一下吗?您需要在fread之前返回到文件的开头。您查看了文件的结尾,但在fread之前没有查看。检查文件操作中的错误返回代码-您不知道哪些操作失败。也没有错误写入前需要关闭并重新打开文件;“r+”模式意味着它可以进行读写操作。但是,在编写之前,您需要再次尝试开始。 #include <Windows.h> #include <stdio.h> int count = 0;

嗨,fread没有从文件到缓冲区读取任何东西,我不知道为什么。有人能给我一个提示或向正确的方向推一下吗?

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

您查看了文件的结尾,但在fread之前没有查看。

检查文件操作中的错误返回代码-您不知道哪些操作失败。也没有错误写入前需要关闭并重新打开文件;
“r+”
模式意味着它可以进行读写操作。但是,在编写之前,您需要再次尝试开始。
#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); 
}