龙空技术网

C语言字符串拷贝的几种方式

季盛永和 185

前言:

而今同学们对“c语言位拷贝”大致比较注意,兄弟们都想要了解一些“c语言位拷贝”的相关资讯。那么小编同时在网摘上搜集了一些对于“c语言位拷贝””的相关内容,希望各位老铁们能喜欢,同学们快快来学习一下吧!

总体概述:

在实际项目中对字符串操作函数用得很多,这一篇,我们介绍几个字符串拷贝的函数,并编写代码示例,经常用到的函数有strcpy、strncpy,memcpy。

函数语法:

strcpy函数语法:char *strcpy(char *dest, const char *src);

strncpy函数语法:char *strncpy(char *dest, const char *src, size_t n);

memcpy函数语法:void *memcpy(void *dest, const void *src, size_t n);

函数作用:

strcpy函数:将src指向的字符串(包括结束的空字节('\0'))复制到由dest指向的缓冲区。

strncpy函数:将n个字节从src指向的字符串复制到由dest指向的缓冲区。

memcpy函数:将n个字节从内存区域src复制到内存区域dest。

参数介绍:

strcpy函数参数介绍:

输出参数:dest => 存储字符串的缓存。输入参数:src => 指向要拷贝的字符串。返回值:返回一个指向目标字符串dest的指针。

strncpy函数参数介绍:

输出参数:dest => 存储字符串的缓存。输入参数:src => 指向要拷贝的字符串。输入参数:n => 要拷贝的字符串长度。返回值:返回一个指向目标字符串dest的指针。

memcpy函数参数介绍:

输出参数:dest => 目的内存区域。输入参数:src => 源内存区域。输入参数:n => 要拷贝的内存长度。返回值:返回一个指向目的内存dest的指针。

代码示例:

#include <stdio.h>#include <string.h>int main(int argc, char **argv){    const char *str = "string copy demo";    char dest1[32], dest2[32], dest3[32];    size_t len = strlen(str);    strcpy(dest1, str);        strncpy(dest2, str, len);    dest2[len] = '\0';        memcpy(dest3, str, len);    dest3[len] = '\0';    printf("dest1: %s\n", dest1);    printf("dest2: %s\n", dest2);    printf("dest3: %s\n", dest3);        return 0;}

使用方法:

$ mkdir ~/clanguage && cd ~/clanguage$ touch string_copy.c             注:创建并拷贝代码到string_copy.c,保存退出。$ gcc -o string_copy string_copy.c$ ./string_copy

运行效果:

运行效果图

点赞、收藏+关注获取更多精彩内容!

注:鉴于作者能力有限,文中错误与未尽事宜在所难免,恳请读者批评指正。

代码示例图

标签: #c语言位拷贝 #c语言中怎么取整 #c语言字符串拷贝 #用c实现一个字符串拷贝函数 #c语言 字符串拷贝