怎么样连接两个char*型的字符串变量,

https://blog.csdn.net/qq_31839479/article/details/51355949  怎么样连接两个char*型的字符串变量

https://blog.csdn.net/qq_20515461/article/details/83301941  C++中如何连接两个char数组

https://www.cnblogs.com/wuruofeng/p/10412559.html   C++中string、char *、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数组不以‘’结尾,所以连接两个char型数组无法直接使用strcat等函数,可以采用sprintf函数

  1.  
    string s;
  2.  
     
  3.  
    char a1[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'};
  4.  
    char a2[] = {'H', 'I', 'J', 'K', 'L', 'M', 'N'};
  5.  
     
  6.  
    sprintf(s, "%.*s%.*s", sizeof(a1), a1, sizeof(a2), a2);
  7.  
     
  8.  
    /*
  9.  
     
  10.  
    1.在"%m.ns"中,m 表示占用宽度(字符串长度不足时补空格,超出了则按照实际宽度打印),n表示从相应的字符串中最多取用的字符数。
  11.  
    2.sprintf 采用"*"来占用一个本来需要一个指定宽度或精度的常数数字的位置
  12.  
     
  13.  
     
  14.  
     
  15.  
    */

参考:

c语言,printf中的*号解析

C++字符串格式化 sprintf、printf

C/C++语言拾遗(二)--单字节字符串

C++中string、char *、char[]的转换

作者:疯狂Delphi
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

欢迎关注我,一起进步!扫描下方二维码即可加我

原文地址:https://www.cnblogs.com/FKdelphi/p/14442731.html