新人求助,望大神指点!几个不同字符串怎么可以连到一起呀
a="123";
b="45";
c="67";
d="89";
e="10";
f=a+b+c+d+e;
大神们,这个怎么连接到一起呢》
c
[解决办法]
首先,找到一个足够放下这么多字符的空间
然后,把第一个字符指针指向的几个字符复制到空间开头
然后,把第二个字符指针指向的几个字符复制到空间中已有的字符后面
然后,把第三个字符指针指向的几个字符复制到空间中已有的字符后面
……
[解决办法]
#include <iostream>
using namespace std;
int main() {
char* a = "123";
char* b = "45";
char* c = "67";
char* d = "89";
char* e = "10";
int length = strlen(a) + strlen(b) + strlen(c) + strlen(d) + strlen(e);
char* tmp = new char[length + 1];
memset(tmp, 0, length + 1);
strcpy(tmp, a);
strcpy(tmp, b);
strcpy(tmp, c);
strcpy(tmp, d);
strcpy(tmp, e);
cout << tmp << endl;
free(tmp);
return 0;
}
[解决办法]
一楼的sprintf是正解。不过不容易确定你的数组个数,可以考虑写个循环,指定数组个数,然后用拼接的方法。
[解决办法]