如何使用\转义序列

时间:2014-11-11 20:40:47

标签: c++ bash escaping

我正在学习C ++,使用bash和Escape Sequences。 我试着做很多练习来更好地记住它们。 现在,\ a应该发出声音,就像一声哔哔声。

我使用以下代码,但似乎\ a不起作用:

#include <iostream>
using namespace std;

int main ()

 {

   cout << "\a";

   return 0;

 }

我犯了什么错吗?我只是像\ n序列一样使用它,这是错的吗?   谢谢!

新细节:我发现它可以在终端上运行,但它在Kate的内置终端中无效。

操作系统:我使用Ubuntu作为访客Os,使用Windows 7作为VirtualBox的主机。       我很快就会发布这个版本。

2 个答案:

答案 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

在您按照这些步骤操作后,再次运行该程序,看看是否能解决问题。