一行代码解决【小技巧】<------>printf输出指定长度字符串

1、一行代码解决<------>printf输出指定长度字符串

编程时往往存在这种情况:

(1)函数接口传给你一个没有“\0”结尾的字符串str和他的长度str_len,调试的时候你需要将其打印出来;

(2)在调试的时候,只需要查看前面几个字符等等。

正常情况如下:

void my_print_str(const char* str, unsigned int str_len)
{
  int i=0;
  for ( ; i < str_len; i++)
    printf("%c", str[i]);
  printf("\n");

}

可以换另外一种技巧

一行代码就可以搞定:
printf("%.*s\n", str_len, str);

2、举例

2.1、代码

#include<stdio.h>

int main()
{
    char *String_="123456789abcdef";
    const unsigned char *ptr;

    ptr = (const unsigned char *)String_;

    printf("\n");

    printf("   String[指定3个字符]__ = %.*s \r\n", 3, String_);
    printf("   String[指定4个字符]__ = %.*s \r\n", 4, String_);
    printf("   String[指定5个字符]_ = %.*s \r\n", 5, String_);
    printf("   String[全部字符串]_ = %s \r\n", String_);
    return 0;
}

2.2、结果

 

posted @ 2022-01-05 20:41  `Konoha  阅读(765)  评论(0编辑  收藏  举报