文件不会将输出保存到文件中,并在 Linux C++奇怪地打印出一个字符串



我正在尝试制作一个密码代码,用户输入一个密码,然后它会将密码保存到/tmp/中的一个文件中,然后它将输出密码(对我来说,这样我就可以找到错误)。我包含了"字符串"库,并将密码类型设置为字符串,但当我输出它时,它的输出如下:

0x7fffb55baac0password // <-- thats the password I entered

它将输出十六进制(我认为),然后是我输入的密码,并且不会将其保存到/tmp/中我想要的文件(或/tmp/的任何文件)。以下是源代码:http://codepad.org/3aamAv7R谢谢你们到目前为止对我的帮助。

ifstream password_read ("/tmp/qT9Cp0XPKZ.txt");
cout<< password_read;
password_read.close();

passwordread的类型是ifstream,所以您将得到的不是垃圾就是它的内存地址。为了显示什么是INSIDE password_read,您需要有一个变量来保存所述信息。

const int BUFFER = 1204; //maximum size of password(might be a large password)
getline(password_read,Data,BUFFER); //if the password happens to contain whitespaces
cout << Data;

还有:

ofstream password ("/tmp/qT9Cp0XPKZ.txt");
password.open("/tmp/qT9Cp0XPKZ.txt");

ofstream的构造函数将为您打开文件,因此后面的行是不明确的。

相关内容

  • 没有找到相关文章