0
点赞
收藏
分享

微信扫一扫

指针练习 - 字符串拼接

史值拥 2022-02-01 阅读 47

字符串拼接

  • 实现一个函数,使用指针连接两个字符串。
    函数输入: 两个源字符串的指针,目的字符串的指针
    在这里插入图片描述

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;
}
举报

相关推荐

0 条评论