C: _access_s() 找不到文件夹

C: _access_s() can't find the folder

这是应用程序执行位置的结构:

应用程序的目的是检查是否存在名为 Folder 的文件夹。这是一个负责这个的函数:

bool Initialize(const char * c_pszFolder)
{
    if (_access_s(c_pszFolder, 00) != 0)
    {
        printf("Error! Folder doesn't exist.");
        return false;
    }

    printf("Success! Folder does exist.");
    return true;
}

调用函数的方式如下:

int main()
{
    Initialize("Folder");
}

根据文档,_access_s() 的第二个参数是您要测试的案例的编号。在我的例子中,我会使用:00 Existence only.。虽然,当我 运行 应用程序 return false 时,由于调试结果,这确实令人困惑:

在尝试使用 _get_errno() 获取更多信息后,我得到了 errno 值 2,它代表:ENOENT No such file or directory。但是文件夹存在。

像这样更改当前目录即可

Project | Properties | Select Configuration | Configuration Properties | Debugging | Working directory