在不包含任何内容的情况下获得错误声音?
Posted
技术标签:
【中文标题】在不包含任何内容的情况下获得错误声音?【英文标题】:Getting error sound without including any? 【发布时间】:2017-11-23 17:02:43 【问题描述】:我正在读一本书,目前正在学习指针等,但是当我运行此代码时,我也会听到奇怪的错误声音。它确实有点酷,但我不知道为什么它被称为并且这本书没有说任何关于(可能是因为这本书现在已经相当老了)。当我调用“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");
【问题讨论】:
巨魔程序 101:while(true) std::cout << '\a';
@PasserBy:是的,这是我们在 1990 年代初期在 PC 世界所做的事情之一,那时 Windows 95 通过登录提示破坏了一切。
【参考方案1】:
当您在 std::cout
文字中键入反斜杠时,您使用了 escape 序列。
\a
是一种非常老式的向终端发送哔声信号的方式(称为 BEL 字符),假设您的控制台(即您用来启动应用程序的东西)支持哔声。
【讨论】:
【参考方案2】:\a
(a
代表alert
)是 ASCII BEL 字符的编码,如果您的终端软件或硬件支持该功能,它将导致终端铃声在输出时响起。
【讨论】:
【参考方案3】:因为
std::cout << "\aError:" << msg << std::endl;
注意\a
.\a
是一个转义字符,它是产生该声音的声音警报
【讨论】:
【参考方案4】:\a
是control character for a bell sound,因此将其打印到std::cout
将产生一个; ErrorMessage()
到底做了什么:
std::cout << "\aError:" << msg << std::endl; // make a beep then print "Error: <msg>"
【讨论】:
以上是关于在不包含任何内容的情况下获得错误声音?的主要内容,如果未能解决你的问题,请参考以下文章
为什么glDrawElments()在不使用任何着色器的情况下工作?