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

标签 c++ file-io user-input

我正在尝试制作密码代码,用户输入密码,然后它将密码保存到/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/

相关文章:

c++ - 我终于在链表中创建了我的添加函数,但不能在 main 中使用。 :(

c++ - initializer_list 不可变的性质导致过度复制

检查文件夹是否可写

c - 如何从用户那里获取数字和字符?

c++ - 阅读直到用户输入空白行

php - Cakephp 3 输入自动标签

c++ - Bjam 用于 gcov 覆盖分析?

c++ - Eclipse C++ - 无法解析字符串类型

c - 在 UNIX 系统 (Ubuntu 10.10) 上用 C 语言读取二进制文件

macos - 如何检测文本文件是否仍被 TextEdit 打开