【发布时间】:2017-03-06 21:12:21
【问题描述】:
ofstream batch;
batch.open("olustur.bat", ios::out);
batch <<"@echo off\n";
batch.close();
system("olustur.bat");
我想在 Windows 临时文件夹中创建 olustur.bat。我无法实现它。我是 C++ 新手,这可能吗?如果有,怎么做?
【问题讨论】:
-
通常在
C:\users\<username>\AppData\Local\Temp -
是的,但这仅适用于我的电脑。
-
Temp 也存储在
%TEMP%中。根据您编译 C++ 的方式,您可以使用std::getenv或GetEnvironmentVariable。 -
%TEMP%\olustur.bat 也不起作用
-
您不能直接将
%TEMP%与ofstream一起使用(或任何其他文件I/O 函数,就此而言)。你必须先查询它的值。使用std::getenv("TEMP")或GetEnvironmentVariable("TEMP")获取解析的临时路径,然后将您的文件名附加到该路径的末尾,然后将该完整路径传递给ofstream。 .