1

パスワードコードを作成しようとしています。ユーザーがパスワードを入力すると、パスワードが /tmp/ のファイルに保存され、パスワードが出力されます (私にとっては、バグを見つけることができます)。「文字列」ライブラリを含め、パスワードの種類を文字列に設定しましたが、出力すると次のように出力されます。

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

それは16進数(私は思う)を出力し、次に入力したパスワードを出力し、それを/ tmp /のファイル(または/ tmp /の任意のファイル)に保存しません。ソース コードは次のとおりです

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 に答える