在不包括任何内容的情况下获得错误声音

Getting error sound without including any?

本文关键字:错误 声音 情况下 不包括 任何内      更新时间:2023-10-16

我正在关注一本书,目前正在学习指针,但是当我运行此代码时,我也会收到Wierd错误声音。它确实很酷,但是我不知道为什么要叫它,而这本书没有说什么(可能是因为这本书现在已经很老了)。当我要求" errormessage"时,就会发生声音。这是某种复活节彩蛋,因为我不记得包括任何音频性诽谤吗?

#include <iostream>
ErrorMessage(char* msg)
{
    std::cout << "aError:" << msg << std::endl;
}
int main()
{
    char* ep = "Invalid Input";
    ErrorMessage(ep);
    char msg[] = "Disk Failure";
    ErrorMessage(msg);
    ErrorMessage("Timeout");
}

当您输入std::cout字面的后斜线时,您已经使用了 evase 序列。

a是一种非常老式的方式,将蜂鸣信号发送到您的终端(称为BEL字符),假设您的控制台(即您用来启动应用程序的东西)支持蜂鸣声。

aa代表 alert)是ASCII BEL字符的编码,这将导致终端铃声在输出时(假设您的终端软件或硬件支持)支持此类终端铃功能。

是因为

 std::cout << "aError:" << msg << std::endl;

请注意a
a是一个逃生字符,是可听见的警报,正在生成声音

a是钟声的控制字符,因此将其打印到std::cout将产生一个;确切的ErrorMessage()做什么:

std::cout << "aError:" << msg << std::endl; // make a beep then print "Error: <msg>"