我无法在线找到问题的解决方案.
我想在Unix中调用一个函数,传入一个目录的路径,并知道它是否存在.opendir()如果目录不存在则返回错误,但我的目标不是实际打开,检查错误,如果没有错误则关闭它,而只是检查文件是否是目录.
有没有方便的方法呢?
我想#include<dirent.h>在我的代码中使用但发生此错误:
无法打开包含文件:'dirent.h':没有这样的文件或目录
我怎么解决这个问题 ?
我正在使用opendir函数来检查目录是否存在.问题是我在一个巨大的循环中使用它,它正在膨胀我的应用程序使用的ram.
检查C中是否存在目录的最佳(最快)方法是什么?如果不存在,创建它的最佳(最快)方法是什么?
问题
这是违法的代码
/*we ignore file size for char/block devices, sockets etc*/
if(S_ISREG(fileinfo.st_mode))
uploadfilesize= fileinfo.st_size;
}
Run Code Online (Sandbox Code Playgroud)
它会导致错误
error LNK2019: unresolved external symbol _S_ISREG referenced in function _operate file tool_operate.obj
Run Code Online (Sandbox Code Playgroud)
它们在以下问题中引用
显然,S_ISREG()是一堆posix宏的一部分,显然应该告诉我们文件是否是"常规文件",但我发现的所有示例都有特定于linux的包含文件.