我正在尝试制作一个密码代码,用户输入一个密码,然后它会将密码保存到/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的构造函数将为您打开文件,因此后面的行是不明确的。