字符串复制函数strcpy()

    xiaoxiao2025-02-08  43

    两个字符串变量不可以使用“=”进行直接赋值,只能通用strcpy()函数进行赋值。strcpy是 string copy的缩写,即“字符串复制”。他的原型是:

    #include<stdio.h> char *strcpy(char *dest, const char *src);

    功能是将指针变量src所指向的字符串复制到指针变量dest所指向的位置,dest和src可以是字符数组名,也可以是字符指针变量名。src也可以是一个字符串常量。dest是destination的缩写,即“目的地”,src是source的缩写,即“源”。

    #include<stdio.h> #include<string.h> int main(void) { char str[30]; strcpy(str, "i love you"); printf("%s\n", str); return 0; }

    第一:程序中要想调用strcpy()函数,必须引入<string.h>,而puts()和gets()函数就不需要。

    第二:strcpy()虽然也可以用于初始化,但与前面讲的初始化又有所不同。要想用strcpy()将一个字符串复制一个到字符数组中,那么字符数组在定义时长度一定要够大,要足够容纳被复制的字符串,如果不够,程序运行会出错,同样,在定义字符数组长度,一定要将结束标识符’\0’考虑进去,系统不会自动为’\0’分配内存单元的。

    第三:如果定义的字符数组长度大于所要复制的字符串长度,那么字符数组剩下的没用完的内存单元就将继续保存原有的数据。

    #include<stdio.h> #include<string.h> int main(void) { char str[20]; int i; strcpy(str, "i love you"); strcpy(str, "Lord"); for(i=0; i<11; ++i) { printf("%c", str[i]); } printf("\n"); return 0; }
    最新回复(0)