gpt4 book ai didi

c - C编程中printf函数中使用的格式字符串

转载 作者:太空宇宙 更新时间:2023-11-04 07:44:15 25 4
gpt4 key购买 nike

在这段代码中:

sprint(buf_ptr, "%.*s", MAX_BUF_LEN, desc);

"%.*s", 是什么意思? "%20.20s""%.28s"snprintf 中是什么意思?

最佳答案

%*s 格式规范中,s 表示参数将是一个(空终止)字符串,*(宽度说明符)表示字段宽度作为参数给出,紧接在字符串之前。

在您的其他示例中,宽度说明符是作为固定值给出的。

其实你给的printf格式中,既有width也有precision/strong> 说明符:宽度 是句点之前的值,精度 是句点之后的值。对于字符串,宽度 是最小输出字段大小(必要时用空格填充),精度是要打印的最大字符数(必要时字符串将被截断)。在任何一种情况下,如果为其中任何一种指定了 *,它将被假定在参数列表中(作为整数)紧接在它适用的字符串之前。

关于c - C编程中printf函数中使用的格式字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58215426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com