https://blog.csdn.net/qq_31839479/article/details/51355949 怎么样连接两个char*型的字符串变量
https://blog.csdn.net/qq_20515461/article/details/83301941 C++中如何连接两个char数组
直接见代码
#include <iostream>
using namespace std;
int main()
{
char* str1 = "Hello";
char*str2 = "World";
//方式一
char str3[20];
strcpy(str3, str1);
strcat(str3, str2);
cout << str3 << endl;
//方式二
//char str3[20];
sprintf(str3,"%s%s",str1,str2);
cout << str3 << endl;
return 0;
}
--------------------------------------------------------------------------------------------
问题:
因为char数组不以‘\0’结尾,所以连接两个char型数组无法直接使用strcat等函数,可以采用sprintf函数
- string s;
- char a1[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'};
- char a2[] = {'H', 'I', 'J', 'K', 'L', 'M', 'N'};
- sprintf(s, "%.*s%.*s", sizeof(a1), a1, sizeof(a2), a2);
- /*
- 1.在"%m.ns"中,m 表示占用宽度(字符串长度不足时补空格,超出了则按照实际宽度打印),n表示从相应的字符串中最多取用的字符数。
- 2.sprintf 采用"*"来占用一个本来需要一个指定宽度或精度的常数数字的位置
- */