#include<stdio.h>
#include<stdlib.h>
void f(const char *p)
{
char buf[4]={};
_snprintf(buf, sizeof(buf), "%6s", p);
printf("%c",buf);
printf("%2s",buf);
}
int main()
{
char s[4]={"123"};
f(s);
getchar();
}
先看代码,请问输出为何?
首先在vs2010下(只用过这个版本,其他的不清楚),snprintf找不到定义的,加_snprintf才可以。
snprinf竟然是从后面开始写的,也就是说如果要写的字符数大于接纳的数量的话,从后往前写的。