首页 >后端开发 >C++ >如何使用 printf() 指定要从字符串打印的字符数?

如何使用 printf() 指定要从字符串打印的字符数?

Linda Hamilton
Linda Hamilton原创
2024-11-30 14:57:12710浏览

How to Specify the Number of Characters to Print from a String using printf()?

指定使用 printf() 打印的字符数

问题出现了:printf() 中是否有一种机制允许指定要从字符串中打印的字符数?人们可以将其与指定整数中的小数位进行比较。例如:

printf ("Here are the first 8 chars: %s\n", "A string that is more than 8 chars");

理想情况下,此行应输出:

Here are the first 8 chars: A string

解决方案

有两种主要方法可以实现此目的C.

方法 1:基本方法

printf ("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars");

方法 2:多功能方法

printf ("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars");

在此方法中,长度作为 int 参数提供给 printf() 。格式中的“*”被解释为从参数中检索长度的请求。

扩展表示法

可以使用另一种表示法:

printf ("Here are the first 8 chars: %*.*s\n",
        8, 8, "A string that is more than 8 chars");

类似于“%8.8s”,此表示法还可以在运行时指定最小和最大长度。这在以下场景中特别有用:

printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info);

printf() 的 POSIX 规范提供了这些机制的详细说明。

以上是如何使用 printf() 指定要从字符串打印的字符数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn