c - printf中的 "%.*s"是什么意思?

标签 c printf format-specifiers

我得到了一个代码片段,其中有一个

printf("%.*s\n")

%.*s 是什么意思?

最佳答案

您可以使用星号 (*) 将宽度说明符/精度传递给 printf() ,而不是将其硬编码到格式字符串中,即

void f(const char *str, int str_len)
{
  printf("%.*s\n", str_len, str);
}

关于c - printf中的 "%.*s"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7899119/

相关文章:

c - %ul 和 %lu C 格式说明符有什么区别?

python - 用 C 和 Python 重写伪代码

c - 通过网络发送数字时是否必须颠倒字节顺序?

C 文件输入输出

c - C中整数到 float 的转换

unix - 如何在 unix 命令行中拆分大型 csv 文件

将数组的地址转换为其他数据类型

c - 为什么这个 C 程序不打印 unsigned int?

c++ - 获取类型的打印说明符的惯用方法?

c++ - C++ 标准库是否有用于 printf 转换说明符的模板化 getter?