C++ POSIX/MinGW兼容性:mkdir(';/tmp/randompath';)失败
我需要在C/C++库中创建临时文件夹,并使其与Windows/MinGW兼容。 虽然C++ POSIX/MinGW兼容性:mkdir(';/tmp/randompath';)失败,c++,c,windows,mingw,posix,C++,C,Windows,Mingw,Posix,我需要在C/C++库中创建临时文件夹,并使其与Windows/MinGW兼容。 虽然mkdir(“/tmp/something”)在Linux/macOS/任何其他操作系统下运行良好(当然带有permissions参数),但在MinGW下它会失败,出现enoint错误 我是否正确理解,既然\u mkdir()是Windows API调用,那么它应该包含Windows路径(即不会从/tmp/…转换过来) 那么,访问临时文件夹的正确解决方案是什么?是否使用$TEMP环境变量?通过一些WinAPI调用
mkdir(“/tmp/something”)
在Linux/macOS/任何其他操作系统下运行良好(当然带有permissions参数),但在MinGW下它会失败,出现enoint
错误
我是否正确理解,既然\u mkdir()
是Windows API调用,那么它应该包含Windows路径(即不会从/tmp/…
转换过来)
那么,访问临时文件夹的正确解决方案是什么?是否使用$TEMP
环境变量?通过一些WinAPI调用还有其他方法吗
谢谢。
你最好用<代码> > IFIFF < /C> >,看这里:你可以在这里找到C++中的可能解决方案:谢谢,但是实际上主要问题是“我应该使用哪根root临时路径,我应该依赖/tMP”。我有一个使用mktemp()
的包装器,但是我需要一些东西而不是/tmp
来提供信息。我宁愿使用环境变量。你永远不知道Windows系统是如何设置的。IIRC,与MSYS2不同,MinGW不是POSIX仿真层。因此,您需要使用DOS路径和约定,例如TEMP
环境变量。