总体概述:
在实际项目中对字符串操作函数用得很多,这一篇,我们介绍几个字符串拷贝的函数,并编写代码示例,经常用到的函数有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
运行效果:
运行效果图
点赞、收藏 关注获取更多精彩内容!
注:鉴于作者能力有限,文中错误与未尽事宜在所难免,恳请读者批评指正。
代码示例图