用c ++发出声音(嘟嘟声)

如何使硬件蜂鸣声与C + +?

谢谢

cout << '\a'; 

资源

🙂

如果你使用的是Windows操作系统,那么有一个名为Beep()的函数

 #include <iostream> #include <windows.h> // WinApi header using namespace std; int main() { Beep(523,500); // 523 hertz (C5) for 500 milliseconds cin.get(); // wait return 0; } 

来源: http : //www.daniweb.com/forums/thread15252.html

对于基于Linux的操作系统,有:

 echo -e "\007" >/dev/tty10 

如果你不想在窗口中使用Beep() ,你可以这样做:

 echo "^G" 

资料来源: http : //www.frank-buss.de/beep/index.html

有几个操作系统特定的例程用于发出哔声。

  • 在类Unix操作系统上,尝试(n)curses beep()函数 。 尽pipe对于大多数terminal仿真器来说,这可能比写'\a'更容易。

  • 在一些* BSD中有一个PC扬声器设备 。 读取驱动程序源代码后, SPKRTONE ioctl似乎与原始硬件接口相对应,但似乎还有一个围绕驱动程序的write()string构build的高级语言,如联机帮助页中所述。

  • 它看起来像Linux有一个类似的驱动程序(例如,看这篇文章 ,如果你向下滚动一下, 这个页面上也有一些示例代码)。

  • 在Windows中有一个名为Beep()的函数。

在包含stdio.h之后,可以在c或c ++中select

 char d=(char)(7); printf("%c\n",d); 

(char)7被称为钟形字符。

 std::cout << '\7'; 

这里有一个方法:

 cout << '\a'; 

从C ++字符常量 :

警报:\ a

最简单的方法就是打印一个^ G ascii铃

 #include<iostream> #include<conio.h> #include<windows.h> using namespace std; int main() { Beep(1568, 200); Beep(1568, 200); Beep(1568, 200); Beep(1245, 1000); Beep(1397, 200); Beep(1397, 200); Beep(1397, 200); Beep(1175, 1000); cout<<endl; _getch() return 0 } 

你可以使用条件编译:

 #ifdef WINDOWS #include <Windows.h> void beep() { Beep(440, 1000); } #elif LINUX #include <stdio.h> void beep() { system("echo -e "\007" >/dev/tty10"); } #else #include <stdio.h> void beep() { cout << "\a" << flush; } #endif 

ASCII铃声字符可能是你正在寻找。 这个表中的数字是7。

 cout << "\a"; 

在Xcode中,编译后,你必须手动运行可执行文件才能听到嘟嘟声。