首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么我不能使用Windows环境路径和ofstream来写入文本文件?

为什么我不能使用Windows环境路径和ofstream来写入文本文件?
EN

Stack Overflow用户
提问于 2018-06-09 06:19:09
回答 1查看 352关注 0票数 0

为什么我不能使用Windows环境路径快捷方式和ofstream来编写示例文本文件?

代码语言:javascript
复制
    \\ 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。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-09 06:27:25

%Temp%替换是由一些Windows程序完成的,而不是由C++运行时完成的。如果要这样做,只需自己检索环境变量并构建一个路径即可。类似下面这样的代码就可以了,但是您需要添加一些错误检查:

代码语言:javascript
复制
ostringstream tempfilepath;
tempfilepath << getenv("Temp") << '/' << "Test.txt";
ostream myFile;
myFile.open(tempfilepath.str());
...etc...
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50769062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档