一行代码解决【小技巧】<------>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、代码
#includeint 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; }