如何将每个字符串以逗号隔开,成为一个字符串
时间: 2024-09-12 22:06:55 浏览: 51
oracle将以逗号分隔字符串转多行
如果你想将上述`char *temp[]`数组中的所有字符串连接成一个大的字符串,每两个字符串之间用逗号分隔,你可以使用循环和C风格的字符串拼接(strcat函数),或者是C++中的std::string。这里提供两种方法:
**C风格(C语言):**
```c
#include <stdio.h>
#include <stdlib.h> // 包含strcat函数
size_t total_length = 0;
for (int i = 0; temp[i]; i++) { // 遍历直到数组结束
size_t length = strlen(temp[i]); // 获取当前字符串长度
total_length += length + 1; // 每次添加当前长度并加一个逗号
}
char* combined_string = malloc(total_length); // 动态分配足够的内存
// 将所有字符串连接在一起
combined_string[0] = '\0'; // 初始化新字符串
for (int i = 0; temp[i]; i++) {
strcat(combined_string, temp[i]);
if (i != sizeof(temp) / sizeof(temp[0]) - 1) { // 最后一个字符串不需要加逗号
strcat(combined_string, ",");
}
}
// 使用完成后记得释放动态内存
free(combined_string);
```
**C++风格(C++11及以上):**
```cpp
#include <sstream>
std::stringstream ss;
for (const auto& str : temp) {
ss << str << ",";
}
std::string combined_string = ss.str(); // 删除最后的逗号
```
在这里,我们创建了一个`std::stringstream`,然后逐个添加字符串,并在其间插入逗号。
阅读全文