Есть ли более короткий способ вывода C int с puts?

Мне нужно много сделать в утилите командной строки на USB (libusb) C, которую я пишу:

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

Есть ли более короткий, однострочный способ сделать это?

Использовать printf?

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

Вместо использования sprintf & puts просто измените на printf :

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

Не с помощью puts … Вы можете использовать printf, но тогда вы не можете хранить данные в переменной pid. К сожалению, вы не можете иметь это в обоих направлениях. Вы можете использовать расширение glibc для printf, если вы работаете в Linux, что позволяет вам регистрировать пользовательский формат печати (Google должен что-то появиться), но я не рекомендую просто сохранить строку или две.