今天当我处理我的一些代码时,我在屏幕上打印缓冲区时发出哔哔声。 这是产生哔哔声的神秘人物:'' 我不知道你是否能看到它,但当我试图像这样打印时,我的电脑发出哔哔声:
cout<<(char)7<<endl;
另一个值得关注的问题是'嘟嘟声'不是来自我的车载蜂鸣器,而是来自我的耳机/扬声器
这只是我的电脑还是cout功能有问题?
编辑:
但是为什么打印这个角色会产生哔哔声呢?这是否意味着我可以通过cout函数发送其他此类字符以产生不同的效果?
答案 0 :(得分:12)
在ASCII中,字符7是“铃声”字符,向终端发出信号,表示它应该发出哔声。
编辑:要回答你的后续问题,这只是出于历史原因。旧的电传终端需要一种方法来警告操作员传入的消息,因此使用了铃声。钟形字符告诉终端铃响而不是打印字符。
现代终端模拟器基本上做同样的事情,虽然他们通常可以选择用视觉铃声取代可听铃声。
答案 1 :(得分:12)
0x7是产生“哔”声的ASCII字符。这是一个不可打印的角色。以下是ASCII字符及其代码的完整列表:http://www.asciitable.com/
编辑:声音可用于真正的混杂事物。但是,通过发送其他数据,您无法真正产生其他效果。在上面链接中的表格中,下面列表中的任何内容0x20(十进制32)都是不可打印的字符。它们可以具有不同的效果,具体取决于实际输出数据的位置。
基本上你可以写一个循环来输出0-(你想要停止的任何数字)来试验并看看你能得到什么。
答案 2 :(得分:3)
char 7是BELL的ASCII码。将此字符写入控制台会导致计算机发出蜂鸣声。这是完全正常的。
答案 3 :(得分:3)
聊天7实际上是一个“哔”字符而不是屏幕字符。虽然有时文档可能会显示一个字符,但通常不能直观呈现。