我的项目有问题.我的桌面上有一个项目文件夹.我想创建一个文本文件并写一些包含此文本文件的内容.那是我的代码:
ofstream example("/Users/sample/Desktop/save.txt");
但我希望它可以运行其他的mac.我不知道我应该为save.txt写些什么.
谁能帮我?
创建一个文件并写一些文本很简单,这里是一个示例代码:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
std::ofstream o("/Users/sample/Desktop/save.txt");
o << "Hello, World\n" << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我希望能回答你的问题,但我不确定我是否理解你的问题,如果没有,请正确添加你想要实现的细节.
[更新]:好的,我想评论可以解决问题.
您真正的问题是,您希望将文件保存在正在玩游戏的用户的桌面上.因此,获取当前用户桌面的路径是个问题.
我不确定是否有可移植的方式来获取桌面路径,但可以通过以下方式完成:
在Windows中:
使用 SHGetSpecialFolderPath()函数.
示例代码:
char saveLocation[MAX_PATH] = {0};
SHGetSpecialFolderPath(NULL, saveLocation, CSIDL_DESKTOPDIRECTORY, FALSE);
//Now saveLocation contains the path to the desktop
//Append your file name to it
strcat(saveLocation,"\\save.txt");
ofstream o(saveLocation);
Run Code Online (Sandbox Code Playgroud)
在Linux中:
通过使用环境变量$ HOME
示例代码:
string path(getenv("HOME"));
path += "/Desktop/save.txt";
ofstream o(path);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24214 次 |
| 最近记录: |