wxFileExists在Mac中返回false

时间:2015-01-12 21:30:15

标签: macos wxwidgets

我在Mac中使用wxWidgets(显然)和Xcode。

当该行应该为真时,该行返回false。

` if(!wxFileExists(filePicker->GetPath())
{
 wxMessageDialog(this, "error").ShowModal();
 return;
} `

其中filePicker是wxFilePickerCtrl。它的价值在于:     filepath std::__1::string "/Users/swtsvn/Main/Proj1/Mac/binaries/osx/Debug/wxSampleApp.app"

路径大写,没有空格。文件位于该路径中,因为我使用文件选择器wxWidget工具选择了该文件路径。

我搜索了一个原因wxFileExists可能在Mac上返回false但在Windows上没有,但在Google中找不到。

如果有人知道答案,请告诉我。

1 个答案:

答案 0 :(得分:1)

根据docswxFileExists()

  

如果文件存在且是普通文件,则返回true

因此,它为目录返回false。 Mac应用程序包(例如wxSampleApp.app)是目录。在这种情况下,函数的故意行为是返回false。

你可能会使用wxFileExists(path) || wxDirExists(path)代替,虽然这样效率会有些低效。