C语言 字符串-字符串的复制
字符串复制函数:
strcpy(目标字符串的首地址,被复制的字符串的首地址)
复制p到a:
char * p="12345";char a[20];strcpy(a, p);printf("%s\n", a);
strcpy_s(目标字符串的首地址,缓冲长度,被复制的字符串的首地址)
strcpy_s(a, 20, p);//20为缓冲长度 可用空间的长度printf("%s\n", a);
strncpy(目标字符串的首地址,被复制的字符串的首地址,复制的长度) ,这种复制方式更像是覆盖
strncpy(a, "123456", 4);
strncpy_s(目标字符串的首地址,缓冲长度,被复制的字符串的首地址,,复制的长度),清零后复制
strncpy_s(a, 20, "123456", 4);
仿真字符串复制函数 strcpy
char* my_strcpy(char* dest, const char* src);char* my_strcpy(char* dest, const char* src)
{char* p_dest = dest;const char* p_src = src;while (*p_src)//!='\0'{*p_dest = *p_src;p_src++;p_dest++;}*p_dest = '\0';return dest;
}
测试:
printf("%s\n", my_strcpy(a, "how are you"));
仿真字符串复制函数 strncpy
char* my_strncpy(char* dest, const char* src, unsigned num);char* my_strncpy(char* dest, const char* src, unsigned num)
{char* p_dest = dest;const char* p_src = src;int i = 0;while (*p_src && i++ < num)//!='\0'{*p_dest = *p_src;p_src++;p_dest++;}//*p_dest = '\0';return dest;
}
测试:
my_strncpy(a, "123456", 4);
完整代码:
#include <stdio.h>
#include <string.h>
char* my_strcpy(char* dest, const char* src);
char* my_strncpy(char* dest, const char* src, unsigned num);
int main ()
{/*字符串复制函数*/ char * p="12345";char a[20];/*strcpy*///a=p;strcpy(a, p);printf("%s\n", a);printf("%s\n", my_strcpy(a, "how are you"));printf("%d\n", strlen(strcpy(a, "how old are you")));/*strcpy_s*/strcpy_s(a, 20, p);//20为缓冲长度 可用空间的长度printf("%s\n", a);/*strncpy*/my_strncpy(a, "123456", 4);//像是覆盖strncpy(a, "123456", 4);//像是覆盖printf("%s\n", a);/*strncpy_s*/strncpy_s(a, 20, "123456", 4);//清零后复制printf("%s\n", a);/*仿真字符串复制函数 strcpy */return 0;
}char* my_strcpy(char* dest, const char* src)
{char* p_dest = dest;const char* p_src = src;while (*p_src)//!='\0'{*p_dest = *p_src;p_src++;p_dest++;}*p_dest = '\0';return dest;
}char* my_strncpy(char* dest, const char* src, unsigned num)
{char* p_dest = dest;const char* p_src = src;int i = 0;while (*p_src && i++ < num)//!='\0'{*p_dest = *p_src;p_src++;p_dest++;}//*p_dest = '\0';return dest;
}
完整输出:
C语言 字符串-字符串的复制相关推荐
- R语言stringr包str_dup函数字符串多次复制实战
R语言stringr包str_dup函数字符串多次复制实战 目录 R语言stringr包str_dup函数字符串多次复制实战 #导入stringr包 #仿真数据
- linux中复制字符串出错,C语言实现字符串的复制的两种方法
本文将要为您介绍的是C语言实现字符串的复制的两种方法,具体操作方法: 利用数组实现 1 #include 2 #include 3 4 void copy_string(char str1[],cha ...
- C语言 | 将字符串中的元音字母复制到另一个字符串中
例70:C语言写一个函数,将一个字符串中的元音字母复制到另一字符串,然后输出. 解析:if语句判断一下每一个字母是否符合元音字母,读者看着道题的时候,需要注意一点的是如果用scanf函数是否可以,思考 ...
- Go语言中字符串的查找方法小结
这篇文章主要介绍了Go语言中字符串的查找方法小结,示例的main函数都是导入strings包然后使用其中的方法,需要的朋友可以参考下 1.func Contains(s, substr string) ...
- C语言常用字符串操作函数大全详解(strstr,strtok,strrchr,strcat,strcmp,strcpy,strerror,strspn,strchr等)
参考:string.h中常用字符串操作函数说明(strstr,strtok,strrchr,strcat,strcmp,strcpy,strerror,strspn,strchr等) 作者:一只青木呀 ...
- c语言字符指针清零,C语言中字符串的内存地址操作的相关函数简介
C语言bcopy()函数:复制内存(字符串)头文件: #include bcopy() 函数用来复制内存(字符串),其原型为: void bcopy(const void *src, void *de ...
- C语言中字符串的处理方式(一)
写多了 Java 代码,对 String 类 很是喜爱,可惜经典的 C 语言没有...最近在做程序过程中,发现对C语言字符串的处理很模糊,一会儿用数组,一会儿用指针,一会儿又引入 string.h.. ...
- C语言中字符串的处理方式
http://www.cnblogs.com/robin-ty/archive/2010/09/03/1817294.html 交流纽带" --<C语言程序设计 现代方法> 写多 ...
- C语言常用字符串函数strlen、strcpy、strcat、strcmp、strchr
C语言常用字符串函数,求串长strlen(char *s).串复制strcpy(char *s1,char *s2).串连接strcat(char *s1,char *s2).串比较strcmp(ch ...
- c语言编程字符串_C编程中的字符串
c语言编程字符串 Strings in C programming are an array of characters with a NULL character ('\0') appended a ...
最新文章
- 使用nGraph的Intel®Xeon®上的高性能TensorFlow
- 移动应用开发者正饱受折磨
- 更改hostname后vnc无法进入图形界面
- shell脚本把昨天的txt打成tar包
- 用rollback()VS不用rollback()
- PYTHON之路(八)
- JavaWeb入门之简单分页查询功能实现
- IDEA 2020 配置 Maven 创建 Spring Boot 项目
- 执行jar包中的某个类
- hexo之next主题添加分类
- mysql数据库密码字段查看_mysql基本操作(数据库,表,字段,记录)
- 4月升级鸿蒙,华为鸿蒙系统4月升级适配名单一览
- 数学建模方法——斯皮尔曼相关系数及其显著性检验 (Spearman’s correlation coefficient for ranked data)
- 51单片机蜂鸣器实验
- 常用复合逻辑运算,与非,或非,异或,同或
- 应用启动图标未读消息数显示 工具类
- 毕业季,作为程序员(it软件开发工程师),如何培养强大的解决问题的能力
- 泛目录站群,黑帽SEO程序,自由搭配任意泛,百科程序
- leetcode-数据结构-566. 重塑矩阵
- java的char类型