#include<string.h> #include<stdio.h> int main() ...{ char*src="sky2098,please try again!"; char dest[100]="Hello,I am sky2098,I like writing!"; //定义字符串常量 int n=strlen(src); printf("Before copying dest is: %s ",dest); strncpy(dest,src,n); //复制操作 printf("After copying dest is: %s ",dest); return0; }
在VC++ 6.0编译运行:
复制成功。
如果我们这样实现,则会发生内存异常:
#include<string.h> #include<stdio.h> int main() ...{ char*src="sky2098,please try again!"; char*dest="Hello,I am sky2098,I like writing!"; int n=strlen(src); printf("Before copying dest is: %s ",dest); strncpy(dest,src,n); //拷贝src中的字符到dest中 printf("After copying dest is: %s ",dest); return0; }