联系了一下snprintf()函数发现怎么运行只要size_t<格式化字符串长度就会报错,想问一下怎么回事,只要是snprintf()运行出来所有东西都是错的,比如下面那张图应该是a \n 1\n 4
#include
#include
int main()
{
char a='a';
size_t n,c;
char buf[80];
c=snprintf(buf,2,"%cxyz",a);
printf("%s", buf);
n=strlen(buf);
printf("\n%d",n);
printf("\n%d",c);
return 0;
}
snprintf(buf,2,"%cxyz",a);
把2换成79,第二个参数是长度
snprintf(buf,79,"%cxyz",a);