将文件保存到目录C ++

时间:2017-02-21 13:58:58

标签: c++

所以我花了大约30分钟没有运气。尝试了许多保存文件的方法。当我将它保存到以下时它起作用:
C:\ Users \ jsmit \ OneDrive \ Documents \ Visual Studio 2017 \ Projects \ Password Generator \ Password Generator

但不是当我尝试将其保存到:

C:\用户\ jsmit \ OneDrive \文件

或:

C:\ Users \ jsmit \ Documents \ New folder

这是我保存文件的代码:

void savePassword(string stringpassword, string site) {

ofstream out("C:\Documents\New folder\output.txt", ofstream::app); // DOESN'T WORK
out << site << ": " << stringpassword << endl; // This is where it saves the password into the text file
out.close(); // Closes file

}

如果我提出:

ofstream out("Password.txt", ofstream::app); // ofstream:app stops overwrite

它有效。

编辑::::允许我保存到H:\ New文件夹而不是C:驱动器?怎么解决?

如何制作它以便将其保存到:C:\ Users \ jsmit \ OneDrive \ Documents

3 个答案:

答案 0 :(得分:4)

问题是字符\使用\\/

有关详细信息,请参阅here

  

在C中,所有转义序列都由两个或多个字符组成   首先是反斜杠,\;剩下的人物确定   逃逸序列的解释。例如,\ n是一个   转义序列,表示换行符。其余部分   本文主要关注C;其他编程语言很可能   有不同的语法和语义。

答案 1 :(得分:0)

除非你是管理员,否则你不能写入C:

使用主文件夹的快捷方式&#34;%USERPROFILE%&#34;要访问此文件夹,您可以使用&#34;%USERPROFILE%\ OneDrive \ Documents&#34;

此外,在将任何文件写入文件夹之前,请确保该文件夹存在。该文件夹不会自动创建,您必须自己创建。

另外,看看其他答案,&#39; \&#39;角色应该是&#39; \\&#39;

答案 2 :(得分:0)

像其他人一样说\是逃脱的角色。当含义为\时,你需要使用双反斜杠。