C语言实现字符串拼接和拷贝
作者:SCAU_Jimmy 时间:2021-06-07 14:50:09
本文实例为大家分享了C语言实现字符串拼接和拷贝的具体代码,供大家参考,具体内容如下
字符串拼接:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char *str_contact(const char *,const char *);
char *str_contact(const char *str1,const char *str2)
{
char *result = (char*) malloc(strlen(str1) + strlen(str2) + 1);
if(!result)
{
printf("Error: malloc failed in concat! \n");
exit(EXIT_FAILURE);
}
char *temp = result;
while(*str1 != '\0')
{
*result++ = *str1++;
}
while((*result++ = *str2) != '\0')
{
;
}
return temp;
}
int main(void)
{
char *ch1 = "string_";
char * ch2 = "_contact";
char *result = NULL;
result = str_contact(ch1,ch2);
print("result = %s\n",result);
free(result);
result = NULL;
return 0;
}
字符串拷贝:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char *strcpy(char *dst,const char *src)
{
assert(*dst != NULL && *src!=NULL);
char *temp = dst;
while(*src!='\0')
{
*dst++ = *src++;
}
*dst = '\0';
return temp;
}
int main(void)
{
char *ch1 = "str_cpy";
char *ch2;
char *result = strcpy(ch2,ch1);
printf("result = %s\n",result);
free(result);
result = NULL;
return 0;
}
小编再为大家分享一段之前收藏的代码,感谢原作者的分享。
C++字符串拼接功能描述:实现在字符串末尾拼接字符串
#include <iostream>
#include <string>
using namespace std;
//string& operator+=(const char* str); //重载+= 操作符
//string& operator+=(const char c); //重载+= 操作符
//string& operator+=(const string& str); //重载+= 操作符
//string& append(const char* s); //把字符串s连接到当前字符串结尾
//string& append(const char* s, int n); //把字符串的前n个字符赋给当前的字符串
//string& append(const string& s); //把字符串s赋给当前字符串
//string& append(int n, char c); //用n个字符赋给当前字符串
void test01()
{
string str1 = "我";
str1 += "爱玩游戏";
cout << "str1 = " << str1 << endl;
str1 += ":";
cout << "str1 = " << str1 << endl;
string str2 = "LOL DNF";
str1 += str2;
cout << "str1 = " << str1 << endl;
string str3 = "I";
str3.append(" love ");
str3.append("game abcde", 4);
//str3.append(str2);
cout << "str3 = " << str3 << endl;
//lol dnf str3 = i love game
str3.append(str2, 4, 3); //从下标4位置开始, 截取3个字符,拼接到字符串末尾
cout << "str3 = " << str3 << endl;
}
int main()
{
test01();
return 0;
}
来源:https://blog.csdn.net/u011086367/article/details/54648032
标签:C语言,字符串,拼接
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
深入理解Java Socket通信
2022-10-03 04:56:10
![](https://img.aspxhome.com/file/2023/2/88142_0s.jpg)
Java如何获取对象属性及对应值
2022-03-30 07:03:05
C#中异步和多线程的区别介绍
2021-08-23 07:06:49
关于Java中@SuppressWarnings的正确使用方法
2023-07-22 17:17:58
![](https://img.aspxhome.com/file/2023/9/77109_0s.jpg)
java反编译工具Bytecode-Viewer分享
2021-05-29 04:39:07
![](https://img.aspxhome.com/file/2023/9/69289_0s.png)
java springmvc实现验证码功能
2022-09-07 12:12:41
![](https://img.aspxhome.com/file/2023/1/61781_0s.jpg)
MultipartResolver实现文件上传功能
2021-06-19 22:38:15
SpringBoot自定义加载yml实现方式,附源码解读
2022-01-22 22:39:40
![](https://img.aspxhome.com/file/2023/5/86025_0s.jpg)
C#实现将记事本中的代码编译成可执行文件的方法
2022-03-05 02:17:53
![](https://img.aspxhome.com/file/2023/8/78118_0s.png)
SpringBoot添加自定义拦截器的实现代码
2023-11-26 13:30:54
基于Avalonia实现自定义弹窗的示例详解
2022-02-27 16:30:45
![](https://img.aspxhome.com/file/2023/0/98290_0s.png)
Android编程实现简单文件浏览器功能
2022-01-02 06:13:46
![](https://img.aspxhome.com/file/2023/8/99798_0s.jpg)
完美解决docx4j变量替换的问题
2021-08-19 21:00:25
![](https://img.aspxhome.com/file/2023/5/95975_0s.png)
ExpandableListView实现二级列表购物车
2022-07-27 05:54:13
![](https://img.aspxhome.com/file/2023/4/90154_0s.jpg)
Android ScrollView滑动实现仿QQ空间标题栏渐变
2021-06-13 16:32:19
![](https://img.aspxhome.com/file/2023/9/102579_0s.gif)
CentOS安装jdk的三种方法
2022-01-13 06:24:41
Java反射机制详解_动力节点Java学院整理
2022-08-19 18:10:13
Android ListView的item背景色设置和item点击无响应的解决方法
2021-07-30 11:26:16
C# 实现FTP上传资料的示例
2023-10-31 21:19:40
java实现简单超市管理系统
2022-04-03 07:41:04
![](https://img.aspxhome.com/file/2023/3/106123_0s.png)