首页 > 编程笔记 > C语言笔记 阅读:16

C语言strcpy()函数:复制字符串(附带实例)

在字符串操作中,字符串复制是比较常用的操作之一,C语言中可以借助 strcpy() 函数完成。

strcpy() 函数的作用是复制特定长度的字符串到另一个字符串中,其语法格式如下:
strcpy(目的字符数组名, 源字符数组名);
strcpy() 函数的功能是把源字符数组中的字符串复制到目的字符数组中,字符串结束标志“\0”也一同复制。

使用 strcpy() 函数时,需要注意以下几点:
【实例 1】使用 strcpy() 函数更新招牌内容,将原来的“包子一元一个”,修改为“包子壹圆壹个”。
#define _CRT_SECURE_NO_WARNINGS                /*解除vs安全性检测问题*/
#include<stdio.h>                             //包含输入输出函数库
#include<string.h>                            //包含字符串复制函数库

int main()                                    //主函数main()
{
    //定义字符数组用来存储招牌的新旧内容
    char old[30] = "包子一元一个", new[30] = "包子壹圆壹个";
    printf("原来的招牌的内容是:\n");                //输出旧招牌内容提示信息
    printf("%s\n", old);                          //输出旧招牌内容
    strcpy(old, new);               //利用strcpy()函数将新招牌盖掉旧招牌
    printf("经过处理之后的招牌的内容是:\n");         //输出新招牌内容提示信息
    printf("%s\n", old);                         //输出新招牌内容
    return 0;                                    //程序结束
}
运行程序,结果为:

原来的招牌的内容是:
包子一元一个
经过处理之后的招牌的内容是:
包子壹圆壹个

从作用上看,上述代码的本质就是字符串替换,用源字符数组替换目的字符数组。例如:
char old[30] = "I love you", new[30] = "我爱你";   
printf("原来内容是:\n");                     
printf("%s\n", old);                                 
strcpy(old, new);                              
printf("经过处理之后内容是:\n");        
printf("%s\n", old);              
运行结果如下:

原来内容是:
I love you
经过处理之后内容是:
我爱你

从结果来看,使用 strcpy() 就是用“我爱你”替换“I love you”,最终输出字符串“我爱你”。

注意,开发环境 Visual Studio 认为 strcpy() 函数不安全,建议用 strcpy_s() 函数。strcpy_s() 函数的语法格式如下:
strcpy_s(目的字符数组名,缓冲区大小,源字符数组名);
用法基本上和 strcpy() 函数相同,使用 strcpy_s() 函数还需要指定缓冲区大小(以字节为单位),其实就是目标字符数组的大小。

相关文章