繁体   English   中英

当我在C ++控制台应用程序中打印超过7个控制台输出时,为什么我的电脑会发出蜂鸣声?

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

// 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是铃声字符,它应该让你的电脑发出哔哔声。

ascii character 7铃声\\a ,这就是你听到哔哔声的原因,引用了这篇文章:

在ASCII和Unicode中,值为7的字符为BEL。 [...]在C编程语言(创建于1972年)中,可以使用\\ a将钟形字符放置在字符串或字符常量中。 ('a'代表“alert”或“audible”并被选中,因为\\ b已经用于退格符。)

C ++草案标准第2.2字符集强调我的 ):

基本执行字符集和基本执行宽字符集应各自包含基本源字符集的所有成员,以及表示alert ,backspace和回车符的控制字符 ,以及空字符[...]

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

alert BEL \a

ASCII 7是\\aBEL 实施可以选择发出哔哔声。 C ++在C中对此进行跨越:

C99§5.2.2字符显示语义

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

7是“bell”的ASCII码,意味着如果可能,控制台应该发出噪音。 曾几何时,它会使电传打字机成为铃声。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM