a(警报和哔声)转义序列字符在 C 语言中不起作用
Posted
技术标签:
【中文标题】\a(警报和哔声)转义序列字符在 C 语言中不起作用【英文标题】:\a (Alarm and beep) escape sequence character not working in C language 【发布时间】:2020-08-13 03:36:33 【问题描述】:我不知道为什么\a
不起作用。我的代码正在运行并显示在终端中。我的代码:
#include <stdio.h>
int main()
printf("hello world\a");
return 0;
我的 IDE:Visual Studio 代码
我的编译器:Mingw gcc
【问题讨论】:
请告诉您如何运行代码。也许即使是截图也不错。 【参考方案1】:\a
的行为取决于您使用的环境/终端。
我的猜测是 Windows 没有实现它,或者它可能由于某种原因被禁用。除非您使用播放特定声音的特定于平台的 API,否则您无能为力。
见How to make a Beep sound in C on Windows?
【讨论】:
conhost.exe(这是 cmd 和 powershell 连接的控制台)确实支持哔声。在 powershell 中尝试 echo "`a"、echo [char]7
或 cmd /c "echo $([char]7)"
,你会听到声音。或者在cmd中输入echo
然后Ctrl+G或者Alt+7你会看到同样的效果
@phuclv 感谢您提供详细信息!自从我使用 Windows 以来已经有一段时间了。我记得很多年前在那里听到过哔哔声,但我不确定它是来自终端还是默认情况下仍然启用。无论如何,依靠\a
发出声音并不是一个好主意,所以我决定链接另一个问题。
我认为现代主板没有蜂鸣器,因此现代版本的 Windows 将使用扬声器。太糟糕了,蜂鸣器时代是一些重大的怀旧之情。 (真正的计算机在启动时应该听起来像 BEEP beep-beep-beep-BEEP BEEP。)以上是关于a(警报和哔声)转义序列字符在 C 语言中不起作用的主要内容,如果未能解决你的问题,请参考以下文章