1

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

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

它会输出十六进制(我认为),然后是我输入的密码,它不会将其保存到我想要的 /tmp/ 中的文件(或 /tmp/ 中的任何文件)。这是源代码:http ://codepad.org/3aamAv7R 感谢你们迄今为止给我的所有帮助。

4

1 回答 1

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

password_read 属于 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 的构造函数将为您打开文件,因此后面的行是模棱两可的。

于 2012-12-04T05:02:13.400 回答