¿Hay una manera más corta de dar salida a C int con put?

Tengo que hacer mucho lo siguiente en una utilidad de línea de comandos basada en USB (libusb) C que estoy escribiendo:

char pid[20]; sprintf(pid, "Product ID : %#06x", anInteger); puts(pid); 

¿Hay una forma más corta, de una sola línea para hacer esto?

Utilizar printf?

 printf("Product ID : %#06x\n", descriptor.idVendor); 

En lugar de usar sprintf & puts , solo cambia a printf :

 printf("Product ID : %#06x", descriptor.idVendor); 

No con pone … Puede usar printf, pero luego no puede almacenar los datos en la variable pid. Desafortunadamente no puedes tenerlo de ambas maneras. Podría usar una extensión de glibc para printf si está en Linux que le permite registrar un formato personalizado de printf (Google debería aparecer algo), pero no lo recomiendo solo para guardar una línea o dos.