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

| 我的项目有问题。我的桌面上有一个项目文件夹。我想创建一个文本文件并编写一些包含此文本文件的内容。那是我的代码:
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;
   }
希望能回答您的问题,但不确定我是否正确理解了您的问题;如果不正确,请正确添加您要达到的目标的详细信息。 [更新]: 好的,我想评论可以解决问题。 您真正的问题是,您想将文件保存在玩游戏的用户的桌面上。因此,获取当前用户桌面的路径是一个问题。 我不确定是否有可移植的方式获取桌面路径,但是可以通过以下方式完成: 在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);
在Linux中: 通过使用环境变量$ HOME 样例代码:
string path(getenv(\"HOME\"));
path += \"/Desktop/save.txt\";
ofstream o(path);
    
        定义平台上文件保存位置的规则因平台而异。一种选择是使它成为编译脚本的一部分(即,#define SAVEGAME_PATH作为编译配置的一部分),从而使代码本身与平台无关。 另一种选择是找到一个保存数据管理库,该库已经设计为可以跨不同平台移植。无论是C还是C ++或任何二进制可互操作的库,都不再重要。 只是不要期望它会成为C ++(语言)的一部分。     
        如果您想让程序跨平台运行,最好使用 相对路径。 例如。 \“ ./ output.txt \”,或更好的“ GetSystemDirectory()”来获取系统 目录以创建文件,然后可以写入或读取文件 用相同的路径..     

要回复问题请先登录注册