为什么当我在控制台应用程序中打印出超过 7 个控制台输出时C++我的 PC 会发出哔哔声

Why does my PC beep when I printout more than 7 console outputs in C++ console application?

本文关键字:控制台 C++ 输出 我的 PC 应用程序 为什么 打印      更新时间:2023-10-16
// Convert Int to Char
#include "stdafx.h"
#include <iostream>
using namespace System;
using namespace std;
int main(array<System::String ^> ^args)
{
    for (short i = 0; i < 8; i++ )
    {
       char newChar = i;
       cout << i << " = " << newChar << "n";
    }
    cin.get();
    return 0;
}

最后一个输出,数字 7 不显示任何字符,只显示空格。

Ascii 代码 7 是铃铛字符,它应该会让你的 PC 发出哔哔声。

ASCII 7 是a,或者BEL 实现可以选择播放蜂鸣音。C++从 C 中州际关系:

C99 §5.2.2 字符显示语义

a(警报)在不更改活动位置的情况下生成声音或可见警报。

ASCII字符7是铃铛或a,这就是为什么你会听到哔哔声,引用文章:

在 ASCII 和 Unicode 中,值为 7 的字符是 BEL。[...]在 C 编程语言(创建于 1972 年)中,bell 字符可以放在字符串或字符常量中,带有 \a.("a"代表"警报"或"可听",之所以选择它,是因为 \b 已经用于退格字符。

C++标准草案部分2.2字符集说(强调我的):

基本执行字符集和基本

执行宽字符集应分别包含基本源字符集的所有成员,以及表示警报、退格键和回车符的控制字符,以及空字符 [...]

然后Table 5转义序列包含以下行:

alert BEL a

7 是"bell"的 ASCII 代码,这意味着如果可能的话,控制台应该发出噪音。曾几何时,它真的会让电传打印机敲响铃铛。