如何在桌面上的文件夹中创建文本文件

muh*_*sva 3 c++ save ofstream

我的项目有问题.我的桌面上有一个项目文件夹.我想创建一个文本文件并写一些包含此文本文件的内容.那是我的代码:

ofstream example("/Users/sample/Desktop/save.txt");

但我希望它可以运行其他的mac.我不知道我应该为save.txt写些什么.

谁能帮我?

Alo*_*ave 8

创建一个文件并写一些文本很简单,这里是一个示例代码:

   #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)