首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当打印数字7时,停止计算机的嗡嗡声

当打印数字7时,停止计算机的嗡嗡声
EN

Stack Overflow用户
提问于 2022-01-02 17:37:27
回答 2查看 88关注 0票数 0

我正在将一堆ascii字符打印到控制台,作为二进制数字的表示,但是,每当它将数字7输出到控制台时,windows就会发出嗡嗡声。在网上,我可以看到一些人在谈论ascii 7发出噪音,但我似乎找不到在代码中禁用它的位置。

代码语言:javascript
复制
for (size_t i = 0; i < 1160; i++)
{
    std::cout << "\n" << (char)decimalarray[i];
}

当UIN8数组中的值为7时会发生这种情况,并且我尝试将该值打印为char。打印(int)decimalarray[1157]输出数字7打印(char)decimalarray[1157]只输出蜂鸣噪声

编辑:如果有一种只写可打印字符的方法,那就很理想了。不容易硬编码的值,因为程序使用的每个ascii字符,有正常的执行。

有人能帮忙吗?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-02 17:48:34

7号代码是贝尔。它就是要这么做的。

要禁用它,您有两个选择。

  • 更改终端或操作系统的配置(告诉它保持沉默)。
  • 在代码中添加了一个条件,以跳过这个字符。

要执行条件:使用isprint

例如:

代码语言:javascript
复制
#include <ctype.h>
#include <iostream>

int main(){
    int c =7;
    
    if (isprint(c))
        std::cout <<'\n' << static_cast<char>(c);
}
票数 5
EN

Stack Overflow用户

发布于 2022-01-02 17:45:26

Ascii字符0x7或Bell的目的是发出恼人的哔声。要禁用它,需要在终端或操作系统首选项(如)中找到适当的控件。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70558248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档