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.表示形式:
-
C 风格字符串(C-strings):是以 null 结尾的字符数组。即,它们是字符的数组,最后一个字符是 null 字符('\0'),表示字符串的结束。
-
C++ 风格字符串:通常使用
std::string
类型。这种类型的字符串会记录字符串的长度,因此你不需要在字符串末尾添加 null 字符。
-
-
2.处理方式:
-
C 风格字符串:通常使用字符数组,需要使用一些标准库函数(如
strcpy
、strcmp
)或者手动遍历字符数组来进行操作。 -
C++ 风格字符串:使用
std::string
类型,可以通过类的方法轻松执行各种字符串操作,如连接、比较、查找等。C++ 标准库还提供了许多与字符串处理相关的函数。
-