objective-c怎么样连接两个char*
时间: 2024-09-23 15:08:41 浏览: 9
在Objective-C中,如果你有两个指向 `char` 的指针,通常不需要特别的操作去"连接"它们,因为它们已经是基本类型的数组,可以直接拼接在一起。然而,如果是指向不同字符串(可能是动态创建的`malloc`分配的),你需要确保它们可以安全地合并,比如它们都是有效的字符串并且有足够的内存空间。
例如,如果你想将两个字符串拼接起来:
```objective-c
char *str1 = "Hello, ";
char *str2 = "World!";
size_t len1 = strlen(str1); // 获取 str1 的长度
size_t len2 = strlen(str2);
// 假设你已经为结果预留了足够的内存空间
char *combinedStr = malloc(len1 + len2 + 1); // 加1是为了包含结束的'\0'
if(combinedStr != NULL){
memcpy(combinedStr, str1, len1); // 将 str1 复制过去
combinedStr[len1] = '\0'; // 结束 str1 后追加'\0'
memcpy(combinedStr + len1, str2, len2); // 将 str2 追加到 str1 后面
combinedStr[len1 + len2] = '\0'; // 结束整个字符串
// 现在combinedStr指向新的字符串
}
// 记得处理好内存管理,例如使用 free() 函数释放 combinedStr
free(combinedStr);
```