您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言打印字符串的一部分的方法

时间:12-30来源:作者:点击数:

6.6 中讨论了怎样拷贝字符串的一部分,为了打印字符串的一部分,你可以利用6.6的例子中的部分技巧,不过你现在要使用的是printf()函数,而不是sprintf()函数。请看下例:

# include <stdio. h>
# include <stdlib. h>
void main (void);
void main (void)
{
    char * source_str = "THIS IS THE SOURCE STRING" ;
    /* Use printfO to print the first 11 characters of source_str. */
    printf("First 11 characters: ' %11. lls'\n" , source_str);
    /* Use printf() to print only the last 13 characters of source _str. */
    printf("Last 13 characters:'%13.13'\n", source_str+(strlen(source_str)-13));
}

上例的打印输出如下所示:

    First 11 characters: 'THIS IS THE'   
    Last 13 characters:'SOURCE STRING'

在上例中,第一次调用printf()函数时,通过指定参数"%11.11s",迫使printf()函数只打印11个字符的长度,因为源字符串的长度大于11个字符,所以在打印时源字符串将被截掉一部分,只有头11个字符被打印出来。第二次调用printf()函数时,它将源字符串的最后13个字符打印出来,其实现过程为:

    (1)用strlen()函数计算出source_str字符串的长度,即strlen(source_str)。

    (2)将source_str的长度减去13(13是将要打印的字符数),得出source_str中剩余字符数,且pstrlen(source_str)-13。

    (3)将strlen(source_str)-13和source_str的地址相加,得出指向source_str中倒数第13个字符的地址的指针;即source_str+(strlen(source_str)-13)。这个指针就是printf()函数的第二个参数。

    (4)通过指定参数“%13.13s”,迫使printf()函数只打印13个字符的长度,其结果实际上就是打印源字符串的最后13个字符。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门