gpt4 book ai didi

android - 在c中使用fwrite()转储内存

转载 作者:行者123 更新时间:2023-11-30 20:22:46 27 4
gpt4 key购买 nike

我试图在 c 中制作非常简单的转储内存程序使用fwrite()功能但发生错误...

这是我的代码,dumpCode()函数获取起始地址、结束地址和名称。

然后在 for 循环中我想要转储内存并生成文件。

void dumpCode( char* start, char* end, char* subject  )
{
FILE *fp;
char *i;
char fileName[100];

// make file name
sprintf( fileName, "/storage/emulated/0/test/%s-%s.txt", start,end );

fp = fopen( fileName, "wb" );

for ( i = start; i <= end ; i++ )
fwrite( start, 1,10*sizeof(unsigned long long),fp );

fclose(fp);
}

我觉得很简单,但是我找不到错误。我的代码有什么问题?

最佳答案

您可能正在尝试访问不存在的文件。为了确保您没有犯这个错误,您必须检查 fopen 的返回值。事实上,如果返回值为 NULL,则意味着您没有尝试访问有效或现有的文件。

这是你应该做的:

void dumpCode( char* start, char* end, char* subject  )
{
FILE *fp;
char *i;
char fileName[100];

// make file name
sprintf( fileName, "/storage/emulated/0/test/%s-%s.txt", start,end );

if ((fp = fopen( fileName, "wb" )) == NULL)
printf("Error: Could not open '%s'\n", fileName);

for ( i = start; i <= end ; i++ )
fwrite( start, 1,10*sizeof(unsigned long long),fp );

fclose(fp);
}

希望这有帮助。

关于android - 在c中使用fwrite()转储内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38561555/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com