printf中的“%。* s”是什么意思?
我有一个代码片段,其中有一个
printf("%.*s\n")
%.*s是什么意思?
您可以使用星号( * )将宽度说明符/精度传递给printf() ,而不是将其硬编码到格式string中,即
void f(const char *str, int str_len) { printf("%.*s\n", str_len, str); }
我不认为上面的代码是正确的,但(根据这个printf()描述) .*意思
格式string中没有指定宽度,而是作为要格式化的参数前面的附加整数值参数。
所以这是一个宽度可以通过的string作为参数。
请参阅: http : //www.cplusplus.com/reference/clibrary/cstdio/printf/
.*格式string中没有指定精度,而是作为要格式化的参数前面的附加整数值参数。
sstring