这行代码会做什么。
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 的结果是没有字符。
所以结果是例如pcmC12D23pifpcm->card->number == 12和pcm->device == 23。
我的猜测:这一行正在形成设备的文件名。就像你可以在/dev中找到的一样