无法在所需目录中创建临时文件
Not able to create temp file in the desired directory
我需要在MAC上的指定文件夹中创建一个临时文件。但是,我可以在正确的位置创建文件夹,但无法在其中创建文件。我收到一个错误,说它没有创建文件的权限,尽管我在创建文件夹时已通过 777 作为文件权限。请在下面找到我的代码。我想提一下,这个问题只在MAC上。在窗口上,它按预期执行。请让我知道问题是什么。
wxString curDir = SeeWorkingDir() + wxT("Temp\"); //Gets the working directory
if(!wxFileName::DirExists(curDir)) //Checks if directory exists
wxFileName::Mkdir( curDir, 0777, wxPATH_MKDIR_FULL ); // creates the directory
wxString jobcopy = wxFileName::CreateTempFileName(curDir); // should create temp file
我完全不知道你的" SeeWorkingDir()
"函数返回什么,但如果它返回应用程序目录,那么你不应该在那里写入任何东西。
为什么不用Macintosh上真正可写的路径替换"SeeWorkingDir()
",比如"/tmp/
"目录?
你还没有解释你的函数 SeeWorkingDir() 是做什么的。
也许您应该使用 wxFileName::GetTempDir
来指定存储文件的目录。这应该是独立于平台的。
或者,在调用 wxFileName::CreateTempFileName(curDir) 中,您可以指定 fileTemp
参数以直接打开文件。
请参阅文档:wxWidgets 2.8.12 - wx文件名
相关文章:
- 终端不会为C++文件创建.exe文件吗
- 在C++代码中包含opencv时,使用ctypes创建.so文件
- 如何从头开始创建 avi 文件?
- 为什么当我们有常量引用时创建临时对象?
- 在安卓设备上找不到使用 QStandardPath 创建的文件
- 在VS Code中编译C / C ++时如何禁用自动创建EXE文件?
- 如何使用Windows API C++更改已创建的文件夹/目录安全权限
- 用于 Windows 写入临时文件的 mkstemp() 实现
- 如何为多个目录中的多个文件创建生成文件?
- 巴泽尔 无法创建临时文件
- 无法使用tmpfnam在C++中的Windows上创建临时文件
- 无法在所需目录中创建临时文件
- 创建临时文件:无法写入
- 从多个临时文件中创建引用
- SuperpoweredRecorder:不创建临时文件或录制任何音频
- Ofstream在Windows临时目录下创建一个文件
- 创建临时文件的多种方法:每种方法背后的情况是什么?
- 在mac os上创建临时文件时出错
- 如何在c++中创建临时文件来帮助缓存大数据
- 在RAM中创建临时文件,并在Gnuplot中使用它