这行代码会做什么。
pcm->card->number
,pcm->device
两者都是int
。
char str[16];
sprintf(str, "pcmC%iD%ip", pcm->card->number, pcm->device);
它取自 android/kernel/sound/core/pcm.c。
这行代码会做什么。
pcm->card->number
,pcm->device
两者都是int
。
char str[16];
sprintf(str, "pcmC%iD%ip", pcm->card->number, pcm->device);
它取自 android/kernel/sound/core/pcm.c。
根据 和的描述sprintf()
,是fprintf()
%i
int 参数转换为样式为 [-]dddd 的有符号十进制。精度指定出现的最小位数;如果被转换的值可以用更少的数字表示,它将用前导零扩展。默认精度为 1。使用显式精度 0 转换 0 的结果是没有字符。
所以结果是例如pcmC12D23p
ifpcm->card->number == 12
和pcm->device == 23
。
我的猜测:这一行正在形成设备的文件名。就像你可以在/dev中找到的一样