在 Windows 中将用户输入隐藏为星号?

2023-12-02

我需要创建一个简单的密码程序,该程序要求用户输入密码,当用户输入时,它将字符显示为星号。

每个教程都使用getch() (in conio.h)。但我不想使用它。有没有什么简单的替代方法可以做到这一点?

我使用的是 Windows 10。

P.S:请不要将此问题与此问题重复:iostream.h 中 conio.h 的 getch() 的替代函数?

因为这个问题要求保留屏幕输出,而我需要将输入屏蔽为星号。


我们这里是非标准功能。所以,无论你做什么,它都不是便携式的。

本机控制台方式是ReadConsoleInput()正如所解释的here。在您的情况下,您首先需要通过清除控制台模式标志来禁用回显和行输入模式ENABLE_LINE_INPUT and ENABLE_ECHO_INPUT。然后您可以通过显示“*”来对关键事件做出反应。最后不要忘记恢复初始控制台模式。

快捷方式是保存并更改控制台模式(如上面的代码所示),然后循环cin.get()并回响cout<<'*';其次是cout.flush();确保输出不会在缓冲区中等待,从而给用户带来不适。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Windows 中将用户输入隐藏为星号? 的相关文章

  • 如何使用 LINQ ForEach 更改 List

    我有一个List
  • 我们可以在 C# 中定义枚举的隐式转换吗?

    是否可以在 C 中定义枚举的隐式转换 可以实现这一目标的东西吗 public enum MyEnum one 1 two 2 MyEnum number MyEnum one long i number 如果没有 为什么不呢 有一个解决方案
  • 运行时两个注册之间的简单注入器基于动态上下文的注入

    我有一个使用 Simple Injector 进行命令处理程序注册的中介应用程序 并且注入和处理程序均已设置并完美运行 class DoWashingCommandHandler IRequestHandler
  • 如何从 std::vector 中删除元素而不调整其大小

    迭代器擦除 迭代器位置 迭代器擦除 首先是迭代器 迭代器最后 擦除元素 从向量中删除 容器可以是单个元素 位置 或一系列元素 第一个 最后一个 这有效地减少了向量 大小除以元素数量 删除 调用每个元素的 之前的析构函数 and remove
  • 指向指针的指针和指向二维数组的指针之间的区别

    如果我有一个二维数组 B 定义为 int B 2 3 1 3 5 2 4 6 Is int p B与 一样int p 3 B int f B printf d f 1 gives 5作为输出 同时printf d f 给出 1 作为答案 为
  • C# Visual Studio 动态代码片段

    我正在开发一个 WinForms 项目 每天都会执行一些重复性的任务 所以我认为创建代码片段 https msdn microsoft com en us library ms165394 v vs 110 aspx会帮助我 但它仅适用于固
  • 用 C# 中的字典中的值替换字符串中的单词

    我有一个简单的dictionary像这样 var fruitDictionary new Dictionary
  • 多态性中基类缺少虚拟析构函数 = 资源泄漏?

    我们知道 如果要多态地使用基类 则需要将基类的析构函数指定为 virtual 否则程序中可能会出现资源泄漏 因为只会调用基类析构函数 而不会调用派生对象析构函数 我们还知道构造函数 析构函数纯粹是初始化 未初始化构造 而operator n
  • 如何将 QSerialPort 模块添加到 CMake 中?

    我想将 QSerialPort 模块添加到 CMake 中 根据我的理解 我需要将QT 串口添加到 pro中 我只想使用 CMake 所以我尝试编译简单的 CMake 文件 但有错误 QtCore 正在工作 qDebug 可以毫无问题地显示
  • 用于 C/C++ 的独立跨平台 (Windows/Linux) 文件压缩?

    我正在寻找一个 最好是小的 C 或 C 开源库 我可以将其包含在我的 MIT 许可项目中 托管在 google 代码上 我是一名业余爱好 C C 程序员 所以我并不那么先进 但我只知道为名为 SA MP 的应用程序 适用于 Windows
  • ASP.NET 中的 thread.sleep

    我正在为我的网站模拟彗星实时馈送协议 因此在我的控制器中我添加 while nothing new before timeout Thread Sleep 1000 但我注意到添加此功能后整个网站变慢了 调试后我得出结论 当我打电话时Thr
  • 内存不足异常

    我正在使用 C 和 asp net 开发一个网络应用程序 我一直收到内存不足的异常 该应用程序的作用是从数据源读取一堆记录 产品 可能是数百 数千 通过向导中的设置处理这些记录 然后使用处理的产品信息更新不同的数据源 虽然有多个 DB 类
  • 如何在 Windows 8.1 上打开多个 Visual Studio 窗口? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我使用的是 Windows 7 我能够启动多个 Visual Studio 并同时工作 现在我有 Windows 8 1 操作系统 每当我
  • 如何进行平衡组捕获?

    假设我有这个文本输入 tes tR R abc aD mnoR xyz 我想提取 ff 输出 R abc R xyz D mnoR xyz R R abc aD mnoR xyz 目前 我只能使用平衡组方法提取组内的内容 如中所示msdn
  • 是否可以在 Eclipse 中为除 Java 之外的 Eclipse 编写插件?

    谁能帮我用c 写一个eclipse插件 weekens 和 celavek 感谢您提供的信息 我正在研究 JNI 并将尝试实现它 celavek 我们必须做什么样的主控 控制 在C 和java接口中处理是否风险更大 我的要求是在 Java
  • 字符串比较在 PowerShell 函数中不起作用 - 我做错了什么?

    我正在尝试创建一个别名git commit它还将消息记录到单独的文本文件中 然而 如果git commit回报 nothing to commit working directory clean 它不应该将任何内容记录到单独的文件中 这是我
  • 矩阵行列式算法 C++

    我是编程新手 我一直在寻找一种找到矩阵行列式的方法 我在网上找到了这段代码 但我很难理解这里的算法 我对递归的基础没有问题 但继续和主循环我很难理解 非常感谢任何可以向我解释该算法的人 int determ int a MAX MAX in
  • 如何以一对一/零关系更新员工和身份用户

    我正在尝试更新员工记录 也想更新身份用户 如果我先单独更新身份用户 例如 UserManager Update user Context Entry employee State System Data Entity EntityState
  • 从不同的线程访问对象

    我有一个服务器类 它基本上等待来自客户端的连接 在该类中 我创建了一个 NetworkStream 对象 以便能够从客户端接收字节 由于 NetworkStream Read 方法不是异步的 这意味着它将等到从客户端读取字节才能继续执行类似
  • Json.net 将数字属性序列化为字符串

    我正在使用 JsonConvert SerializeObject 序列化模型对象 服务器期望所有字段都是字符串 我的模型对象具有数字属性和字符串属性 我无法向模型对象添加属性 有没有办法将所有属性值序列化为字符串 我必须只支持序列化 而不

随机推荐

  • 延迟Google Cloud功能

    我有一个与 Google Firebase 配对的 swift iPhone 应用程序 在应用程序中 用户将完成一个操作 按下按钮 此时 我想安排一个 Google Firebase 函数在用户操作后 45 分钟运行 但是 我希望当 iPh
  • JS - 不带前导零或仅零的数字正则表达式

    我正在尝试编写货币的正则表达式 没有逗号或 符号或句点 只有整数 但我遇到了困难 我需要一个数字 作为字符串 来匹配要验证的模式 以下是我需要的 1 数字可以是单个零2 数字不能有前导零 有效输入 0 12345 1230 无效的 00 0
  • 如果路径包含“#”,System.Uri 无法给出正确的 AbsolutePath 和 LocalPath

    我有 C 代码试图获取LocalPath对于使用以下代码行的执行程序集 Uri uri new Uri Assembly GetExecutingAssembly CodeBase LocalPath 这段代码对于所有各种路径都表现良好 它
  • jcombobox 作为单元格编辑器 java.awt.IllegalComponentStateException:组件必须显示在屏幕上才能确定其位置

    我使用自定义 JComboBox 作为 JTable 中的单元格编辑器 当用户使用键盘控件进入单元格时 它会尝试打开弹出窗口 这会导致以下错误 java awt IllegalComponentStateException componen
  • 整数序列(升序或降序)

    整数序列 检查是否有序true 按升序或降序排列 否则为false 如果一个数字与下面的数字具有相同的值 则不会破坏顺序 该序列结束于0 Sample Input 1 9 8 7 6 5 4 3 2 1 0 Sample Output 1
  • 对 HttpContext.Current.Session 的静态引用是否为所有用户返回相同的会话?

    对于同一 Web 应用程序的多个用户 以下代码是否存在问题 我的意思是 我知道一个纯静态字符串将在单个 ASP NET 应用程序的所有会话之间共享 但考虑到 this 明确引用了Current Session 即使它是静态的 它似乎总是引用
  • 什么是透明比较器?

    在 C 14 中 关联容器似乎与 C 11 有所不同 associative reqmts 13 说 成员函数模板find count lower bound upper bound and equal range不应参与重载决策 除非类型
  • 如何在本地主机上使用php获取硬盘序列号

    有没有一种方法可以在本地主机上使用 php 或 javascript 获取硬盘序列号或机器序列号 我们可以在cmd中使用以下命令来获取它 wmic DISKDRIVE GET SerialNumber 或机器序列号由此 wmic bios
  • 带有 12 小时时钟的引导日期时间选择器未在 Rails 中显示子午线(上午或下午)?

    我想以这种方式显示日期时间格式11 01 2013 12 00 AM但目前它正在显示11 01 2013 12 00 P像这样 经络指示器 P 始终显示 P 而不是显示上午或下午 我正在关注这个链接引导日期时间选择器对于我的 Rails 应
  • 根据其他列的值创建包含其他列名称的新列

    我试图根据其他变量的值创建一个新的字符变量 在我的示例 V4 中 我需要使用列名来填充这个新变量 我有这个 V1 V2 V3 1 1 0 1 2 0 1 1 3 0 0 0 4 1 1 1 我希望新变量包含所有值等于 1 的列名 像这样 V
  • Windows 上带有 OpenCv 2.3.4 的 Qt 创建者 5.0.1 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我已经寻找了好几天的好指南
  • 使用纯 CSS 为三角形添加边框

    因此 我使用纯 CSS 创建了一个指向上方且背景色为 222 的三角形 我想给那个三角形添加一个红色的 1px 边框 但我不知道怎么做 arrow tip width 0 height 0 border left 15px solid tr
  • 循环两个单独的数据帧,Haversine 函数,存储值

    我有两个数据帧 我想循环遍历它们 应用半正弦函数 并在新数组中构造结果 我想获取 da store 中第一家餐厅的 lat lng 坐标 对 da univ 的所有 lat lng 应用半正矢函数 存储结果并获取最小值 最终 对于每个商店
  • 动态添加内置方法以指向属性的内置方法[重复]

    这个问题在这里已经有答案了 我有几个类和一个函数 from functools import partial def fn other self name print f calling name with other func getat
  • SSRS 根据逗号分隔列表选择结果

    我有一个将 ID 存储为 INT 的表 例如表 A ID Name 1 A 2 B 3 C 我有一个疑问 SELECT FROM A WHERE ID IN ID 该变量 ID 将来自 SSRS 中输入参数部分的逗号分隔列表 输入类似于 1
  • 在 Swift 中实现 copy()

    我希望能够在 Swift 中复制自定义类 到目前为止 一切都很好 在 Objective C 中我只需要实现NSCopying协议 这意味着实施copyWithZone 举个例子 我有一个名为Value其中存储了一个NSDecimalNum
  • 计算每行的最大列和最小列之间的差

    标题非常简单 如何计算每行的最大和最小值之间的差异 假设这是我的数据 a b c d 1 2 3 4 0 3 6 9 3 2 1 4 9 8 7 6 对于每一行 我想找到具有最高值的列和具有最低值的列之间的差异 结果如下所示 3 9 3 3
  • android Viewpager 一次只加载一页

    ViewPager setOffscreenPageLimit 0 无法按预期工作 就像这个问题一样 但我需要一个自定义 Viewpager 来按时加载一页 有例子吗 是的 您可以通过以下步骤执行此操作 首先创建一个count适配器类中的变
  • 延迟加载 的内容

    是否可以实现实时滚动或延迟滚动 div 其中有 div
  • 在 Windows 中将用户输入隐藏为星号?

    我需要创建一个简单的密码程序 该程序要求用户输入密码 当用户输入时 它将字符显示为星号 每个教程都使用getch in conio h 但我不想使用它 有没有什么简单的替代方法可以做到这一点 我使用的是 Windows 10 P S 请不要