Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有一种用puts输出C int的较短方法?_C - Fatal编程技术网

有没有一种用puts输出C int的较短方法?

有没有一种用puts输出C int的较短方法?,c,C,我必须在我正在编写的基于USB libusb C的命令行实用程序中执行以下许多操作: char pid[20]; sprintf(pid, "Product ID : %#06x", anInteger); puts(pid); 有没有一种更简短的、单行程序的方法可以做到这一点?不使用sprintf&put,只需更改为printf: 使用printf printf("Product ID : %#06x\n", descriptor.idVendor); 不是用放。。。可以使用printf,

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

char pid[20];
sprintf(pid, "Product ID : %#06x", anInteger);
puts(pid);
有没有一种更简短的、单行程序的方法可以做到这一点?

不使用sprintf&put,只需更改为printf:

使用printf

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

不是用放。。。可以使用printf,但不能将数据存储在pid变量中。不幸的是,你不能两全其美。如果您使用的是Linux,它允许您注册自定义的printf格式,那么您可以使用printf的glibc扩展。Google应该提供一些功能,但我不建议您仅为了保存一两行就使用它。

您能显示真正的代码吗?你在第二行有函数调用吗?我猜你在第二行忘了sprintf哦,是的,我在缩进的时候一定把它切掉了。@josef.van.niekerk现在实际上从你身上删除了s sprintf它变成了你的答案。我想问一个愚蠢的问题:@GrijeshChauhan,他也需要删除pid。为pid[]节省一个额外的函数调用和内存空间。假设pid在堆栈上,它实际上不会节省任何内存。它只是将堆栈空间的使用推到了printf内部。啊,这个更正确,因为它包含了换行符!谢谢@约瑟夫·范·尼克尔如果你不忘记斯普林特,你可能会有三个类似的答案
printf("Product ID : %#06x\n", descriptor.idVendor);