c++ char字符组拼接
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;
}
例:
#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个字符连接到当前
一、
strcat(a, ", ");
strcat(a, b);
printf(a);
二:
char e[20];
sprintf(e, "%s, %s", a, b);
printf(e);
一、
strcat(a, ", ");
strcat(a, b);
printf(a);
二:
char e[20];
sprintf(e, "%s, %s", a, b);
printf(e);