c++ char字符组拼接

char a[10],b[10];
char *c=",";
char *d="\t";
......
char *e=strcat(b,c,d,a);
会在程序中输入a=james,b=bond;
想要显示结果为bond, james(james 与bond 之间有逗号和一个空格)
但上述做法不能build 成功,求大神指点!!!

主要使用两个函数strcat和strcpy,strcat本身就是连接字符串的,但是要保证空间足够。

例:

int main()

{

char buff[1024];

memset(buff, 0, sizeof(buff));

const char *buff2 = " test";

strcpy(buff, "abc");

strcat(buff, buff2);

printf("%s", buff);

}

扩展资料

C语言:通过指针对字符串进行拼接

#include <stdio.h>

#include<string.h>

void Pointer_stringcat(char *str1,const char *str2)

{

while (*(str1++)!='\0');     //一直将指向str1的指针移到字符串的末尾

str1--;

while (*str2!='\0')

{

*(str1++) = *(str2++);  //开始连接

}

*str1 = '\0';    //连接完后,添加上字符串结束标识符

}

int main(int argc, const char * argv[])

{

 char s1[] = "hello ";     //这个是一个字符串变量,字符串的值可以被修改

char *s2 = "world!";      //这个是一个字符串常量,不能更改字符串的值

//char s1[] = "hello ";

//char s2[] = "world!";

char const *pt = s1;       //始终不改变pt的指向,pt一直指向s1的首地址

Pointer_stringcat(s1,s2);  //调用自定义的字符串连接函数

puts(pt);

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-07-07

这里给大家分享下c语言拼接字符数组的方法如下。

1、首先在打开的软件中,第一行代码#include <stdio.h>,如下图所示。

2、然后在第二行代码#int main(),如下图所示。

3、接着输入第三行,如下图所示,scanf("d%,d%",&a,&b)。

4、然后第四行代码char ch1[] = "hello";char ch2[] = "world";char che[20] ;int i = 0;while(ch1[i] != '\0'){ch3[i] = ch1[i];}。

5、最后在第五行代码输入 },如下图所示就完成了。

本回答被网友采纳
第2个回答  2019-11-20

例:

#include<iostream>

#include<windows.h>

#include<cstring>

usingnamespacestd;

intmain(){

chars1[10]="wayne";

chars2[10];

intn=10;

itoa(n,s2,10);

strcat(s1,s2);

cout<<s1<<endl;

system("pause");

return0;

}

扩展资料

C++中string函数连接

string&operator+=(conststring&s);//把字符串s连接到当前字符串的结尾

string&append(constchar*s);//把c类型字符串s连接到当前字符串结尾

string&append(constchar*s,intn);//把c类型字符串s的前n个字符连接到当前

本回答被网友采纳
第3个回答  推荐于2017-09-02
假设a、b赋值已经完成, 可以通过以下方式来处理:

一、
strcat(a, ", ");
strcat(a, b);
printf(a);

二:
char e[20];
sprintf(e, "%s, %s", a, b);
printf(e);本回答被提问者和网友采纳
第4个回答  推荐于2017-10-13
假设a、b赋值已经完成, 可以通过以下方式来处理:

一、
strcat(a, ", ");
strcat(a, b);
printf(a);

二:
char e[20];
sprintf(e, "%s, %s", a, b);
printf(e);