gpt4 book ai didi

c - 将 int 或 char 发送到/dev/audio 的区别(在 Linux 中)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:27:52 25 4
gpt4 key购买 nike

我有这个小 C 程序 (play.c):

#include <stdio.h>

main() {
int t;
for (t=0; t<8000; t++) {
printf ("%c", t%256);
}
}

当我重定向它的输出时(在 Linux 中):

./play > /dev/audio

它按照我的预期播放声音。但是,如果我将 printf 中的输出格式化为 int (%d) 而不是 char,我会得到不同的声音(据我所知,这是一个错误的声音我)。

为什么会这样?发送到音频设备的号码不一样吗?

最佳答案

不,正如 man printf 会告诉您的那样,或者对重定向到两个文件的输出进行简单的比较。 '%c' 将无符号字符部分(前 8 位)打印为一个字符,'%d' 以 base-10 数字表示形式打印整个数字。

关于c - 将 int 或 char 发送到/dev/audio 的区别(在 Linux 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8724621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com