繁体   English   中英

如何在printf()中使用多种精度?

[英]How do I use multiple precisions in printf()?

查看标题为“ 精度可以省略或以下任何一项 ”下的信息。

示例: printf("%.*s", 3, "abcdef"); 起作用,输出: abc (截断字符串的其余部分。)

现在,我想将一个带有多个参数的字符串格式化(截断):

printf("%.*s, %.*s", 3, 3, "abcdef", "xyz123");

但是程序崩溃了。

正确的语法是什么?

谢谢。

也许您应该更改订单?

printf("%.*s, %.*s", 3, "abcdef", 3, "xyz123");

顺便说一下,如果您不需要将精度作为变量,则可以对其进行硬编码:

printf("%.3s, %.3s", "abcdef", "xyz123");

(斯蒂芬·佳能请改正错字)

您想要这样做:

printf("%.*s, %.*s", 3, "abcdef", 3, "xyz123");

格式参数应与格式说明符顺序相同。

printf("%.*s, %.*s",3,"abcdef",3,"xyz123");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM