点滴历程
greentown
全部博文(7)
2008年(7)
11937341
NiceLihu
BetonArm
wka_seu
问答知识
zsyiscoo
zhngjian
imphs
idi0t
分类: C/C++
2008-05-29 17:32:33
17 int main(int argc,char **argv) 18 { 19 char buff1[256]={0}; 20 char buff2[256]={0}; 21 strncpy(buff1, "Hello, buffer 1!", 256); 22 strncpy(buff2, "Hello, buffer 2!", 256); 23 sprintf(buff1, "%s, does it work?", buff1); 24 snprintf(buff2, 256, "%s, does it work?", buff2); 25 printf("buffer 1: %s\n", buff1); 26 printf("buffer 2: %s\n", buff2); 27 return 0; 28 }
上一篇:busybox框架模拟
下一篇:没有了
chinaunix网友2008-12-24 10:57:42
作者的本意你们没有明白,在sprintf中,先使用buff1的值组成字符串,再把这个字符串写进buff1,所以buff1的初始内容被保留下来,在snprintf中,先把buff2的内容清空,再把组成的字符串写进buff2,这样如果想使用buff2的初始内容就达不到目的。当然如果不使用buff1和buff2的初始内容,结果就是一样的。
chinaunix网友2008-08-15 13:31:49
输出是一样的,举例不恰当
chinaunix网友2008-07-04 14:38:51
请作者证明结果正确再发!
登录 注册