字符串的合并

#ifndef _STRING_H_
#endif  _STRING_H_
//#pragma once  //此句与头两句效果相同

#include<iostream>
using namespace std;

#define MAX_STRING_SIZE 10  //合并后存放字符串的空间大小,可以比第一的字符串长度小

typedef char SString[MAX_STRING_SIZE+1];

#define MAX_STRING_SIZE1 6  //单个字符的长度

typedef char SString1[MAX_STRING_SIZE1+1];

int Length(SString s)
{
	return strlen(s);
}

bool StringConcat(SString T, SString1 s1, SString1 s2)//字符串链接
{
	int t_length = MAX_STRING_SIZE;
	int s1_length = Length(s1);
	int s2_length = Length(s2);

	if(t_length >= s1_length+s2_length)
	{
		for(int i=0; i<s1_length; ++i)
		{
			T[i] = s1[i];
		}
		for(int j=0; j<s2_length; ++j)
		{
			T[i+j] = s2[j];
		}
		T[i+j] = '\0';
		return true;
	}
	else if(t_length>s1_length && t_length<s1_length+s2_length)
	{
		for(int i=0; i<s1_length; ++i)
		{
			T[i] = s1[i];
		}
		for(int j=0; j<t_length-s1_length; ++j)
		{
			T[i+j] = s2[j];
		}
		T[i+j] = '\0';
		return false;

	}
 	else if(t_length < s1_length)  /////
	{
			for(int i=0; i<t_length; ++i)
		{
			T[i] = s1[i];
		}
			T[i] = '\0';
			return false;
	}
	return true;
}

void PrintString(char T[])
{
	cout<<T<<endl;
}
#include"string.h"

void main()
{
	SString T;
	SString1 s1 = "hello ";
	SString1 s2 = "world!";
	StringConcat(T,s1,s2);
	PrintString(T);
}

时间: 2024-11-05 15:18:36

字符串的合并的相关文章

关于字符串排序合并的问题

今天遇到了一个问题,题目大意是输入两个字符串,然后给这两个字符串按照ASCII码从小到大进行排序,最后在将两个字符串合并,要求删除其中相同的字符.一开始的时候感觉挺简单的一道题,但是做起来还是小毛病挺多的.还是直接看代码吧,代码里面的注释有许多需要注意的地方. 1 #include<stdio.h> 2 #include<string.h> 3 void sort(char *p) //给字符串排序,参数为字符串首地址 4 { 5 char temp; 6 char *head,*

(19)Powershell字符串合并运算符

Powershell 提供了对字符串的合并运算符,连接运算符 -join 将一组字符串连接成单个字符串,子字符串按其在命令中出现的顺序添加到生成的字符串中. 连接运算符 Powershell中字符串的连接运算符的语法如下: -Join <String[]> <String[]> -Join <Delimiter> 参数解释. <String[]> 要连接的子字符串数组,即要对哪些子字符串进行连接. <Delimiter> 指定放在被连接字符串之间

(18)Powershell中的字符串拆分运算符

Powershell中提供了对字符串的拆分操作运算符.-split 运算符将一个字符串拆分成多个字符串. 拆分运算符 拆分运算符用于将一个或多个字符串拆分为多个子字符串.可更改拆分操作的以下元素: (1)定界符.默认为空白,但是可指定字符.字符串.模式或用于设置定界符的脚本块. (2)子字符串的最大数目.默认设置为返回所有子字符串.如果指定的数字小于子字符串数,则其余子字符串将合并到最后一个子字符串中. (3)用于指定定界符匹配条件的选项,如 SimpleMatch 和 Multiline. 拆

Python学习笔记5(字符串与正则表达式)

1.字符串 1.1字符串的格式化 #格式化语法 "%s" % str1 "%s %s" % (str1,str2) #格式化字符串 str1 = "version" num = 1.0 format = "%s" % str1 print (format) format = "%s %d" %(str1, num) print (format) #使用字典格式化字符串 print ("%(vers

python字符串内建函数

操作符 描述 实例 + 字符串连接 a + b 输出结果: HelloPython * 重复输出字符串 a*2 输出结果:HelloHello [] 通过索引获取字符串中字符 a[1] 输出结果 e [ : ] 截取字符串中的一部分 a[1:4] 输出结果ell in 成员运算符 - 如果字符串中包含给定的字符返回 True H in a 输出结果 1 not in 成员运算符 - 如果字符串中不包含给定的字符返回 True M not in a 输出结果 1 r/R 原始字符串 - 原始字符串

字符串反转方法汇总

split()方法将一个字符串对象的每个字符拆出来,并且将每个字符串当成数组的每个元素 reverse()方法用来改变数组,将数组中的元素倒个序排列,第一个数组元素成为最后一个,最后一个变成第一个 join()方法将数组中的所有元素边接成一个字符串 来看个实例: 1 function reverseString(str) { 2 // 第一步,使用split()方法,返回一个新数组 3 // var splitString = "hello".split("");

python 3.0 字符串功能

字符传常用功能 方法描述 string.capitalize 把字符串的第一个字符大写 用法: name = 'fenggongzi'print (name.capitalize()) Fenggongzi string.center(width) 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串 用法: name = 'fenggongzi'print (name.center(50,'#')) ####################fenggongzi##########

JavaScript字符串的操作

平常我们在写JS代码时,遇到最频繁的操作之一也许是字符相关的操作了,同时在面试中也常常会设计字符串的转化的问题,今天刚好将看到资料和前人的经验总结一下,整理如下,希望大家补充和纠正. 1. 非字符串转化为字符串 1.1 原始值转字符串 值 转换为字符串 值 转换为字符串 undefined “undefined” 0 “0” null “null” NaN “NaN” true “true” Infinity “Infinity” false “false” -Infinity “-Infini

python学习笔记字符串(二)

字符串类型(string) 字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"123"等等. 请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符.如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符. 1.创建字符串 b =   'asdasd' 2.字符串操作 a.重复输出字符串 pri