作者:iamlaosong
今天发现sprintf函数的一个问题,不同环境下同样语句执行结果是不一样的。一个时间字符串,要求是6位,不足6位时前面补0,用下面语句实现:
strcpy(tt,"2345");
printf("==%s==",tt);
sprintf(t1,"%06s",tt);
printf("==%s==",t1);
上述语句VC的执行结果:==2345====002345==
同样语句Linux下执行结果:==2345==== 2345==
没有补0,补的是空格。实现办法是:
补1个0:sprintf(t1,"0%s",tt);
补2个0:sprintf(t1,"00%s",tt);
时间: 2024-10-07 10:52:05