<分区>
编辑:问题不在于我的 C++。问题在于我在 GameMaker Studio 中调用共享库的方式,这就是它无法正常工作的原因。
我正在尝试检测文件是否存在,我已经在 Internet 上尝试了很多方法,但似乎都不起作用。这是一个例子:
double file_exists(char *filename)
{
std::ifstream infile(filename);
return infile.good();
}
我假设它只适用于文本文件。例如,这是行不通的:
file_exists("/usr/bin/gedit");
...因为那是 Linux 可执行文件。
我想要一种方法来检查文件是否存在,无论其文件类型如何。
在 Windows 上,这可以像这样轻松实现:
double file_exists(char* filename)
{
DWORD fileAtt = GetFileAttributesA(filename);
if(fileAtt == INVALID_FILE_ATTRIBUTES)
throw GetLastError();
return (bool)((fileAtt&FILE_ATTRIBUTE_DIRECTORY) == 0);
}
但是我在 Linux 上,我需要一个与上面的代码片段等效的代码片段,它可以在 Linux 上运行。