2013-10-12 849 views
0

比方说,我想创建一个文件,我的项目文件夹位于我的桌面上的文件夹内。我如何使用ofstream在我的桌面上创建一个文件?C++ - 使用ofstream在不同的目录中创建文件?

+0

答案在你的问题;使用'std :: ofstream'。对于'std :: ofstream'来说,逻辑中没有任何魔术巫术与其他文件创建机制不同。您需要一个有效的文件夹路径和写入权限;就像任何其他机制一样。 – WhozCraig

+0

使用相对路径? –

回答

1

看来您的问题可能会重新设定为“我如何在操作系统中获取桌面路径?”

一旦你有了它,只需将它加入你的文件名,然后使用ofstream。没有秘密!

ofstream file; 
file.open(YOUR_FULL_PATH_HERE, ios::binary); // suppose here you want binary! 
// write your stuff here... 
file.close(); 

您获取桌面路径的方式取决于操作系统。例如,在Windows中,您可以使用SHGetSpecialFolderPath(CSIDL_DESKTOP),但在Linux或Mac OS X中,您必须检查它是如何完成的(可能getenv("HOME")足以让您从主目录中为这些“基于UNIX”的案例获取桌面)。

+0

为什么'ios :: binary'? OP没有提供任何关于他想写入这个文件的细节。 – LihO

+0

这只是一个例子...我将在这里编辑... –

+0

@LihO:的确如此。那为什么不呢? – hauzer