一.char *strcpy(char *dest, const char *src)
参数
- dest -- 指向用于存储复制内容的目标数组。
- src -- 要复制的字符串。
注意:
1.dest需要分配内存,比如用数组的形式 或者 指针进行new操作.
2.src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。比如dest = new char[strlen(src)+1].
举例:
char array[6]; strcpy(array, “hello”);//正确,数组array定义后就被分配了内存。
char *p = malloc(6); //正确,指针p指向了确定大小的内存。 strcpy(p, "hello");
char *p; //错误,指针p没有初始化,无法对p进行复制操作。
strcpy(p, "hello");
char *p = NULL; //错误,指针赋为NULL,表示不指向任何地方。(delete某个指针后,把它赋为0,表明它不再指向任何对象)
strcpy(p, "hello");
char ch[6] = "hello";
char *p = ch; //正确,指针p指向ch的首地址。
strcpy(p, "hello");
二. char *strncpy(char *dest, const char *src, size_t n)
把 src 所指向的字符串复制到 dest,最多复制 n 个字符。当 src 的长度小于 n 时,dest 的剩余部分将用空字节填充。