parámetro pcmC%iD%ip en sprintf

¿Qué hará esta línea de código?

pcm->card->number, pcm->device ambos son int.

char str[16];

sprintf(str, "pcmC%iD%ip", pcm->card->number, pcm->device);

se toma de android/kernel/sound/core/pcm.c.

preguntado el 02 de julio de 12 a las 09:07

El documentación para printf debería ayudar. -

2 Respuestas

A partir del la descripción de sprintf() y fprintf(), %i is

El argumento int se convierte a un decimal con signo en el estilo [-]dddd. La precisión especifica el número mínimo de dígitos que deben aparecer; si el valor que se está convirtiendo se puede representar en menos dígitos, se expandirá con ceros a la izquierda. La precisión predeterminada es 1. El resultado de convertir 0 con una precisión explícita de 0 es sin caracteres.

Entonces el resultado es por ejemplo pcmC12D23p if pcm->card->number == 12 y pcm->device == 23.

Respondido 02 Jul 12, 09:07

Mi conjetura: esta línea está formando el nombre de archivo del dispositivo. como los que puedes encontrar en / dev

Respondido 02 Jul 12, 09:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.