#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
// 函数StrCpy:复制字符串
// 参数:src-被复制的字符串
// 返回值:复制完的字符串
char* StrCpy(char* src)
{
//计算长度
int len = 0;
while (src[len] != 0)
len++;
//申请内存
char* dst = (char*)malloc(sizeof(char)*(len + 1));
//复制字符串
for (int i = 0; i < len; i++)
dst[i] = src[i];
dst[len] = '\0';
return dst;
}
// 函数StrCat:连接字符串
// 参数:src1-被连接的字符串,src2-被连接的另外字符串
// 返回值:连接后的字符串
char* StrCat(char* str1, char* str2)
{
int i = 0;
int j = 0;
//计算长度
char* p= (char*)malloc(sizeof(char)*(10000));
p = str1;
while (*p != 0)
{
i++;
p++;
}
p = str2;
while (*p != 0)
{
j++;
p++;
}
//申请内存
char* L = (char*)malloc(sizeof(char)*(i + j + 2));
//复制字符串
for (int i1 = 0; i1 < i; i1++)
L[i1] = str1[i1];
for (int i2 = i; i2 < i + j; i2++)
L[i2] = str2[i2 - i];
L[i + j] = '\0';
return L;
}
int main()
{
//1.字符串的连接
//创建内存空间
char* src1 = (char*)malloc(sizeof(char)*(100000));
char* src2 = (char*)malloc(sizeof(char)*(100000));
// 输入字符串
std::cin >> src1;
std::cin >> src2;
char* L1 = StrCat(src1, src2);
// 输出连接后的字符串
cout << L1 << endl;
//2.字符串的复制
//创建内存空间
char* src = (char*)malloc(sizeof(char)*(100000));
// 输入字符串
std::cin >> src;
char* dst = StrCpy(src);
// 输出复制后的字符串
cout << dst << endl;
if (L1 != NULL)
delete L1;
system("pause");
return 0;
}
大二(上) Windows 字符串的复制与连接
最新推荐文章于 2024-04-26 16:19:18 发布