c++中字符的连接

来源:百度知道 编辑:UC知道 时间:2024/06/22 08:42:14
string a="abcd";char b[10]="ffff";
想把a与b连接起来,得到字符串abcdffff并赋值给b,可以得到吗?用哪个函数呢?
strcat不行,因为a和b不是同一个类型的

std::string 的operator + 以及 operator +=

如下:

#include <string>
#include <iostream>

using namespace std;

int main()
{
string a="abcd";
char b[10]="ffff";

a += b;//先连接,并存在a
strcpy(b, a.c_str());//再赋值给b
cout << b <<endl;

}

用转换函数,从char*类型转换为string后,然后连接,最后再转换char*,赋给b
或者反其道行也可以。
函数我给你查一下。
我查的是C++下的函数
CString对象转换成char*类型可以用CString类的GetBuffer的成员函数,将char*类型转换成CString对象,可以用CString的Format成员函数。
代码如下:
char *p;
CString str="Microsoft";
p=str.GetBuffer(0)
---------------------
char *p="Microsoft";
CString str;
p[len(p)]='\0';
str.format("%s",p);
转换完毕后可以进行strcat连接了

a.c_str() 返回 char * 。
可以使用 sprintf(b+strlen(b),"%s",a.c_str());
也可以使用一楼方法。

strcat函数