【发布时间】:2010-12-23 14:14:53
【问题描述】:
我正在编写一个使用std::cin获取密码的软件
虽然不太可能,但我试图避免密码从内存分页到磁盘的可能性,所以我想修改std::cin 的缓冲区,以便在我完成后立即覆盖密码。
现在我有这个:
std::cin.clear();
std::stringstream ss;
ss << "0000000000000000000000000000000000000000000000";
std::cin.rdbuf(ss.rdbuf());
std::cin.clear();
但我很确定这很糟糕,因为它没有考虑 cin 缓冲区的当前大小。 如何正确覆盖缓冲区的内容?
感谢您的帮助!
【问题讨论】: