我正在学习C ++,使用bash和Escape Sequences。 我试着做很多练习来更好地记住它们。 现在,\ a应该发出声音,就像一声哔哔声。
我使用以下代码,但似乎\ a不起作用:
#include <iostream>
using namespace std;
int main ()
{
cout << "\a";
return 0;
}
我犯了什么错吗?我只是像\ n序列一样使用它,这是错的吗? 谢谢!
新细节:我发现它可以在终端上运行,但它在Kate的内置终端中无效。
操作系统:我使用Ubuntu作为访客Os,使用Windows 7作为VirtualBox的主机。 我很快就会发布这个版本。
答案 0 :(得分:5)
\a
是否发出哔哔声取决于你写的位置。如果你在Unix终端中运行这个程序,你可能会听到声音。如果您使用IDE或GUI终端仿真器,可能会发生您不会看到或听到任何内容的情况。
如果您指定使用哪个终端(gnome-terminal?Apple Terminal.app?),有人可能会帮助您配置它以播放声音......
答案 1 :(得分:1)
首先运行sudo modprobe pcspkr
,然后beep
应该有效。
如果这对您有用,那么要启用加载pcspkr永久编辑/etc/modprobe.d/blacklist.conf
文件并注释掉blacklist pcspkr
...
正如评论中所提到的,这些天Ubuntu默认不会在终端上发出嘟嘟声;上面发布的信息来自this answer。
在您按照这些步骤操作后,再次运行该程序,看看是否能解决问题。