为什么我不能使用Windows环境路径快捷方式和ofstream来编写示例文本文件?
\\ C:\Users\Me\AppData\Local\Temp\Test.txt
std::string Path = "%Temp%\\Test.txt"
ofstream myfile;
myfile.open (Path);
if (!myfile.is_open())
{
cout << "Could not create temp file." << endl;
}
myfile << "Hello World";
myfile.close();
myfile.is_open()总是返回false,也返回"%%Temp%%“和"\%Temp\%”不起作用。
我可以通过Windows API获取临时路径,但我不想在此应用程序中使用API。
谢谢
发布于 2018-06-09 06:27:25
%Temp%
替换是由一些Windows程序完成的,而不是由C++运行时完成的。如果要这样做,只需自己检索环境变量并构建一个路径即可。类似下面这样的代码就可以了,但是您需要添加一些错误检查:
ostringstream tempfilepath;
tempfilepath << getenv("Temp") << '/' << "Test.txt";
ostream myFile;
myFile.open(tempfilepath.str());
...etc...
https://stackoverflow.com/questions/50769062
复制相似问题