在没有包含任何内容的情

时间:2017-11-23 17:02:43

标签: c++ audio

我正在读一本书,目前正在学习指针等等,但是当我运行这段代码时,我也会收到一个奇怪的错误声音。它确实有点酷,但我不知道为什么要打电话,这本书没有说什么(可能导致这本书现在已经过时了)。当我呼叫“错误消息”时,会发出声音。这是某种复活节彩蛋,因为我不记得包括任何音频库吗?

#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");
}

4 个答案:

答案 0 :(得分:4)

因为

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

请注意\a
\a是一个转义字符,它是一种产生声音的声音警报

答案 1 :(得分:2)

当您在std::cout文字中输入反斜杠时,您使用了转义序列。

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

答案 2 :(得分:2)

\acontrol character for a bell sound,因此将其打印到std::cout会生成一个;正是ErrorMessage()所做的:

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

答案 3 :(得分:2)

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