c - 如何在 printf() 中使用多个精度?

标签 c string formatting char printf

查看标题“Precision can be omitted or be any of:”下的信息。

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

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

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

但是程序崩溃了。

正确的语法是什么?

谢谢。

最佳答案

也许你应该改变顺序?

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

顺便说一句,如果您不需要它作为变量,您可以硬编码精度:

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

(Stephen Canon 友善地纠正了打字错误)

关于c - 如何在 printf() 中使用多个精度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2715951/

相关文章:

python - Xlsxwriter,仅格式化某些单元格,而不是整行或整列?

rust - 是否可以使用变量作为格式的fill参数!宏?

c - fork() 子进程和父进程

在 C 中的字符串 vector 之间复制字符串

string - 如何在 Excel VBA 中应用自定义格式,例如 "Text:"0.0%

连接两个字符数组 C

C 字符串输入溢出其他字符串输入

c - 读取二进制文件中的日期

c++ - 如何在不为其分配内存的情况下将缓冲区传递给 write()

c - Arduino错误: expected primary-expression before '.' token