海阔天空lanpeng.blog.chinaunix.net
lanlovehua
全部博文(134)
linux-软件应用(0)
2022年(1)
2020年(7)
2018年(2)
2016年(5)
2015年(14)
2014年(21)
2013年(3)
2012年(1)
2011年(15)
2010年(30)
2009年(35)
lds33
koozool
恒华电子
water2oi
RHCE520
mallocya
wmyrzy
wb123456
cainiaoz
km康蒙92
zhangtin
KAKA55
qq526665
Bsolar
浪花小雨
gnsusn
分类: C/C++
2009-04-03 14:36:42
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char **argv) { char a[30] = "1234567890"; char b[30] = "abcdef\0ghijklmn"; int i; printf("a[]="); for(i = 0; i < 30; i++) printf("%c", a[i]); printf("\n");
strncpy(a, b, 20); printf("strncpy():a[]="); for(i = 0; i < 30; i++) printf("%c", a[i]); printf("\n");
memcpy(a, b, 20);
printf("memcpy():a[]="); for(i = 0; i < 30; i++) printf("%c", a[i]); printf("\n"); return 0; }
printf("memcpy():a[]=");
for(i = 0; i < 30; i++) printf("%c", a[i]); printf("\n"); return 0; }
在运行完之后我们会得到以下结果:
a[]=1234567890
strncpy():a[]=abcdef
memcpy():a[]=abcdefhijklmn
很明显我们就得出了strncpy与memcpy的区别:
当遇到\0时,strncpy停止复制,而memcpy会继续复制.
上一篇:走进ARM-淡淡的记忆
下一篇:Qt4的QDialog和QWidget
登录 注册