0

我必须在我正在编写的基于 USB (libusb) C 的命令行实用程序中执行以下操作:

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

有没有更短的单行方式来做到这一点?

4

3 回答 3

9

而不是使用sprintf& puts,只需更改为printf

printf("Product ID : %#06x", descriptor.idVendor);
于 2013-07-04T20:35:26.157 回答
8

使用 printf?

printf("Product ID : %#06x\n", descriptor.idVendor);
于 2013-07-04T20:35:44.500 回答
0

不是puts...您可以使用printf,但是您不能将数据存储在pid 变量中。不幸的是,你不能同时拥有它。如果您在 Linux 上允许您注册自定义 printf 格式(Google 应该提供一些东西),您可以使用 printf 的 glibc 扩展,但我不推荐它只是为了保存一两行。

于 2013-07-04T20:42:12.630 回答