怎么把一个字符串数组变成一个字符串
发布网友
发布时间:2022-04-29 09:46
我来回答
共1个回答
热心网友
时间:2022-06-25 17:09
首先要明确的是,“字符串”在C语言中的含义实际上就是一个char类型的指针或数组,且最后一位置为0标记字符串的结束。所以,你所说的”字符数组“我是否可以理解为一个没有终结符0的char类型数组?
这样的话,方法如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string.h>
int main() // 这里为了方便直接用main函数
{
char array[] = { 'h', 'e', 'l', 'l', 'o' };
/* 需要注意的是,这里没有终结符,故需要知道数组的 */
/* 大小(数组的大小是编译时常量)*/
char *dest_str; // 目标字符串
dest_str = (char *)malloc(sizeof(char) * (sizeof(array) + 1));
/* 为字符串分配堆空间 */
strncpy(dest_str, array, sizeof(array));
// 用C标准库函数strncpy拷贝字符
return 0;
}