我试图写一个字到使用此功能的文件:的fwrite写一个整数
extern void write_int(FILE * out, int num) {
fwrite(&num,sizeof(int),1, out);
if(ferror(out)){
perror(__func__);
exit(EXIT_FAILURE);
}
}
,但我得到每当它试图运行fwrite的分段错误。我查看了fwrite(3)的手册页,我觉得我正确使用了它,有什么我错过了吗?
什么平台/编译器?一致性问题可能很重要。 – abelenky 2010-04-23 03:04:14
只要确保'out'不是'NULL',休息就好了。 – 2010-04-23 03:14:32
当我测试这段代码时,我没有想到,并决定写一个名为“test”的测试文件,这也是我的测试程序的二进制文件的名称,它给了我一个段错误。 >。所以函数本身很好,只要确定你传入的是有效的,正如N 1.1和其他人所建议的那样。 – 2010-04-23 03:23:19