我在C程序中使用’fopen’来以只读模式(r)打开文件.但在我的情况下,我发现fopen呼叫不会返回.它不返回NULL或有效指针 – 执行在fopen调用时被阻止.文件补丁是绝对正确的(我已经验证过)并且没有与权限相关的问题.任何人都可以告诉我这种行为可能是什么原因.任何形式的帮助都非常可观.有什么与
gcc或glibc有关吗?
编辑
这是示例代码
printf("%s %d\n",__FUNCTION__,__LINE__); if ((fp = fopen(argv[1],"r")) == NULL) { printf("%s %d\n",__LINE__); return; } printf("%s %d\n",__LINE__);
当我运行此代码时,我只获得第一个打印(在调用fopen之前),然后该程序暂停.所以fopen没有完成它的操作.该文件是一个扩展名为“.conf”的简单配置文件,该文件可以通过vi,cat等所有其他方式打开.不应该有任何NFS相关问题.文件系统是ext3.
提前致谢,
Souvik