一个snprintf函数format参数的问题

来源:互联网 发布:qq好友定位软件 编辑:程序博客网 时间:2024/05/18 01:58

代码如下:

int main(void)
{
char url_str[1024];
int url_len = 0;
url_len = snprintf(url_str, sizeof(url_str), "%*.*s,5,5,"hello");
printf("url_len is:%s\n", url_str);

return 0;
}

刚开始看到 %*.*s  的时候楞了一下,半天没反应过来,后来想了下,这个与"%5.5s,"hello"是等价的。

不过若是这里的5和"hello"要是经常变化的值的话,用 %*.*s 就更方便了。


注: %6.9s 表示显示一个长度不小于6且不大于9的字符串。若大于9, 则第9个字符以后的内容将被删除。


其余的更详细的关于format的讲解请参考:

[精华] gcc中格式化输出函数的研究(转)
http://www.chinaunix.net/old_jh/23/24825.html



0 0
原创粉丝点击