我正在尝试制作密码代码,用户输入密码,然后它将密码保存到/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();
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 的构造函数将为您打开文件,因此后面的行是不明确的。
关于c++ - 文件不会将输出保存到文件,并奇怪地打印出一个字符串 C++ Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13696334/