字符串拼接
- 实现一个函数,使用指针连接两个字符串。
函数输入: 两个源字符串的指针,目的字符串的指针
demo
#include <iostream>
#include <Windows.h>
#include <string.h>
using namespace std;
/*********************************
函数参数:
str1: 第一个字符串
str2: 第二个字符串
dest: 保存拼接后的字符串
len: dest数组长度
返回值:
true: 真
false: 假
*********************************/
bool str_cat(const char* str1, const char* str2, char *dest, int len) {
int pos = 0; //下标
if (!dest || len < 1) {
return false;
}
if (str1) { //str1不为空
//*str1没有到尾部(不等于'0'), 而且下标没有超出数组最大范围
while (*str1 && pos < (len-1)) {
*(dest+pos) = *str1;
pos++;
str1++;
}
}
if (str2) { //str2不为空
while (*str2 && pos < (len-1)) {
*(dest + pos) = *str2;
pos++;
str2++;
}
}
//连接完后, 添加字符串结束符
*(dest + pos) = '\0';
return true;
}
int main(void) {
const char *str1 = "我是";
const char *str2 = "小萌新";
char dest[64];
str_cat(str1, str2, dest, 64);
cout << dest << endl;
system("pause");
return 0;
}