我在C程序中使用'fopen'以只读模式(r)打开文件。但就我而言,我观察到fopen调用不会返回。它不返回NULL或有效指针 - 执行在fopen调用时被阻塞。该补丁的文件是绝对正确的(我已经证实了这一点),并没有权限相关的问题。任何人都可以告诉可能是什么原因这种行为。任何形式的帮助都是非常可观的。有什么与gcc或glibc有关的吗?fopen不返回
编辑
下面是示例代码
printf("%s %d\n",__FUNCTION__,__LINE__);
if ((fp = fopen(argv[1], "r")) == NULL) {
printf("%s %d\n",__FUNCTION__,__LINE__);
return;
}
printf("%s %d\n",__FUNCTION__,__LINE__);
当我运行这段代码,我只得到了第一次印刷(调用的fopen之前),之后计划只是暂停。所以fopen不能完成它的操作。该文件是一个扩展名为“.conf”的简单配置文件,可以通过vi,cat等其他方式打开该文件。不应该有任何与NFS相关的问题。文件系统是ext3。
由于提前, Souvik
邮政码字符/块特殊文件。没有这个我们不能分辨。包含您传递给fopen的参数(包含值)。 – 2010-12-20 14:04:40
如果你不能发布我们的代码,请在该场景中发布示例代码! – Sudantha 2010-12-20 14:05:45
请指定文件系统的类型。 – Simone 2010-12-20 14:06:36