字符串相加strcat 和std::string类

char sub_topic[100];  // 假设足够大以容纳连接后的字符串

strcpy(sub_topic, "log/request/down/");
strcat(sub_topic, SUBSCRIBE_TOPIC);//char *strcat(char *dest, const char *src);
//dest 必须具有足够的空间来容纳连接后的字符串。如果 dest 的长度不够,可能导致缓冲区溢出。
//src 的内容将会被追加到 dest 的末尾,src 的 null 字符('\0')也会被拷贝过去。
//dest 和 src 不能指向同一块内存,即它们不能重叠。

ret = MQTTAsync_subscribe(client, sub_topic, 1, nullptr);

if (ret != MQTTASYNC_SUCCESS) {
    printf("fail to sub!\n");
}
isConnected = 1;
  // 使用 + 运算符
    std::string result1 = str1 + str2;

    // 使用 append 方法
    std::string result2 = str1;
    result2.append(str2);
std::cout << "Concatenated string (using +): " << result1 << std::endl;
    std::cout << "Concatenated string (using append): " << result2 << std::endl;
  1. 1.表示形式

    • C 风格字符串(C-strings):是以 null 结尾的字符数组。即,它们是字符的数组,最后一个字符是 null 字符('\0'),表示字符串的结束。

    • C++ 风格字符串:通常使用 std::string 类型。这种类型的字符串会记录字符串的长度,因此你不需要在字符串末尾添加 null 字符。

  2. 2.处理方式

    • C 风格字符串:通常使用字符数组,需要使用一些标准库函数(如 strcpystrcmp)或者手动遍历字符数组来进行操作。

    • C++ 风格字符串:使用 std::string 类型,可以通过类的方法轻松执行各种字符串操作,如连接、比较、查找等。C++ 标准库还提供了许多与字符串处理相关的函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值