在我的代码中,我有一个这样的结构:
struct fileinfo {
/* ... */
bool hashed;
char hash[20];
}
处理 a 的每个函数struct fileinfo
只读取设置的hash
if 且仅 ifhashed
的值。我的程序将其中几个struct fileinfo
' 写入一个临时文件以供以后使用:
struct fileinfo info;
/* ... */
info.hashed = false;
/* ... */
if (fwrite(&info,sizeof info,1,m->info_file) != 1) {
perror("Error writing to temporary file");
return 1;
}
Valgrind 现在抱怨我将未初始化的内存传递给系统调用write
。处理这种情况的最佳做法是什么?事先memset
将成员简单地设置为零字节是最好的主意吗?hash