C-打开无效文件

Way*_*int 6 c fopen

我想知道如何检查我是否打开了fopen存在的文件?当用户选择名称不正确的文件时,我想显示一些消息。必须进行一些简单的检查,但我无法解决。

谢谢

Bat*_*man 3

在你的参数列表中:

FILE pFile ;
Run Code Online (Sandbox Code Playgroud)

然后:

  pFile = fopen ("myfile.txt","r");

if (pFile == NULL)
printf("No Such File !! ");
Run Code Online (Sandbox Code Playgroud)

  • 不,这不对。这可能是文件或路径的权限问题。这也可能是资源分配错误(fopen 可以调用 `malloc`,这可能会失败)。当问题可能完全不同时说“没有这样的文件”是不好的做法,并且会使调试变得更加困难。 (5认同)
  • 这根本不是一个好的错误消息。“没有这样的文件”只是可能的失败之一。 (4认同)