编写一个C++字符串连接程序,
代码如下看看是否可行?
//连接两个字符串
#include
#include
#include
#include
char* strcat1(char *strDest , const char *strSrc)//Strcat函数原型如下:将源字符串加const,表明其为输入参数,不会改变其内容
{
//后文return address,故不能放在assert断言之后声明address
char* address=strDest;
assert( (strDest!=NULL)&&(strSrc!=NULL) );//对源地址和目的地址加非0断言
while(*strDest)//是while(*strDest!=’\0’)的简化形式
{
//若使用while(*strDest++),则会出错,因为循环结束后strDest还会执行一次++,
//那么strDest将指向'\0'的下一个位置。/所以要在循环体内++;因为要是*strDest最后指
//向该字符串的结束标志’\0’。
strDest++;
}
while(*strDest++=*strSrc++)
{
NULL;//该循环条件内可以用++,
}//此处可以加语句*strDest=’\0’;无必要
return address;//为了实现链式操作,将目的地址返回
}
int main()
{
char a[100],b[100];
scanf("%s",a);
scanf("%s",b);
strcat1(a,b);
printf("%s",a);
return 0;
}
#include
#include
using namespace std;
void main()
{
char a[50],b[50];
cin>>a>>b;
cout<<strcat(a,b)<<endl;;
}
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str1 = "I Love C++";
string str2 = " I don't hit C++";
string str3;
str3 = str1 + str2;
cout << str3 << endl;
return 0;
}
稍微不简单的一个:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str1 = "I Love C++";
string str2 = " I don't hit C++";
char str3[100];
int i = 0;
int j = 0;
while (str1[i] != '\0')
{
str3[i] = str1[i];
++i;
}
while (str2[j] != '\0')
{
str3[i] = str2[j];
++i;
++j;
}
str3[i + 1] = '\0';
cout << str3 << endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
char *a,*b;
a=new char[30];b=new char[10];
cin>>a>>b;
for(int i=0;a[i]!='\0';i++);
for(int j=0;b[j]!='\0';j++)
{
a[i]=b[j];i++;
}
a[i]='\0';
cout<<a<<endl;
return 0;
}
C++编写函数,实现两个字符串的连接。在主函数中调用该函数并输出结果...
= "aaa";string b = "bbb";cout << concat(a, b);}简单解释一下,这里调用C++自带的string library,所以我们直接可以用string类型来处理字符串。自己编写的函数concat很简单,就是将两个字符串a和b连接起来,并返还一个字符串。这里主函数就不多解释了。输出结果是aaabbb,你可以自己试一下。
C++字符串拼接
include<iostream.h> include<string.h> void main(){ char a[5],b[5],c[10];char *p1,*p2,*p3;int i,j,I,J;cout<<"请输入字符串a:";cin>>a;I=strlen(a);cout<<"请输入字符串b:";cin>>b;J=strlen(b);p1=a;p2=b;p3=c;for(i=0;i<I-1;i++){ p3=p1;p1++;} f...
编写程序,不用函数stract,将两个字符串连接起来
include<stdio.h> include<string.h> main(){char a[5],b[500];int c,f=0,d=0,e;for(c=0;c<=4;c++){ scanf("%c",&a[c]);getchar();\/\/因为%c匹配空白字符 } for(c=0;c<=5;c++){d=d+1;\/\/scanf("%c",&a[c]);scanf("%c",&b[c]);getchar();} for(e=d;e...
建立一个C++控制台程序, 程序功能实现两个字符串的连接,要求不能使用...
cout<<"Please input zi fu chuan b: ";cin>>b;string c=a+b;cout<<"lian jie hou zi fu chuan shi: "<<c<<endl;} 该程序已运行通过,你可以直接复制粘贴就可以了。其实不用楼1那样去做,因为C++里已经含有了字符串类string库,你可以直接去用;就不用C语言那样自己去写 ...
编写一个程序,将两个字符串连接起来,并输出(不要使用strcat函数)。用C...
include<stdio.h> void main(){ char s1[80],s2[40];int i=0,j=0;printf("\\ninput stringl:");scanf("%s",s1);printf("input string2:");scanf("%s",s2);while(s1[i]!='\\0')i++;while(s2[j]!='\\0')s1[i++]=s2[j++];s1[i]='\\0';printf("The new string is:%s...
在c++中如何将两个字符串合并成一个字符串
在C++中合并两个字符串,最直接的方法是使用加号(+)运算符。这种操作不仅简单,而且效率较高。例如,我们有两个字符串a和b,分别存储着"aaa"和"bbb"。我们可以通过简单地将这两个字符串相加,来创建一个新的字符串c,这个新字符串将包含a和b的内容,顺序相连。下面是实现这一操作的代码示例:incl...
C++使用string类申明字符串对象,实现两字符串的连接
include<iostream>#include<string>using namespace std;int main(){ string all,left,right; cin>>left>>right; \/\/以空格分隔 all=left+right; cout<<all<<endl; return 0;}
求问c++大佬 怎么将两个字符串交叉连接 用的是vs
C++自定义函数实现两个字符串交叉链接,参考代码如下:include<iostream> include<string.h> using namespace std;char *conj(char *str1,char *str2){ char *s1=str1,*s2=str2;int L1=strlen(s1),L2=strlen(s2);int i,j,min;s1[L1+L2]=0;for(i=L1-1; i>=0; --i)s1[i+L2]=s1...
c语言编程 字符串连接 由键盘任意输入两串字符,不用库函数strcat,连接...
帮你写了一个,函数strconnect为连接字符串的,调试过,可用 include <stdio.h> include<stdlib.h> strconnect(char a[10],char b[10],char c[20]){ char *p,*q;p=a;q=b;while(*p!='\\0')(c++)=*(p++);while(*q!='\\0')(c++)=*(q++);(c+1)='\\0';} main(){ char a...
编写一个程序,将两个字符串连接起来,并输出(不要使用strcat函数)。用C...
include<stdio.h> void main(){ char s1[80],s2[40];int i=0,j=0;printf("\\ninput stringl:");scanf("%s",s1);printf("input string2:");scanf("%s",s2);while(s1[i]!='\\0')i++;while(s2[j]!='\\0')s1[i++]=s2[j++];s1[i]='\\0';printf("The new string is:%s...