首页 > 代码库 > 关于在vs2010下,snprintf的使用须知

关于在vs2010下,snprintf的使用须知

#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竟然是从后面开始写的,也就是说如果要写的字符数大于接纳的数量的话,从后往前写的。