C编程 - 从char *转换为char数组?

时间:2018-05-06 04:35:23

标签: c

这是我的代码

char *output;

char store[100];

output = store;

如何将输出内容存储到char数组?

2 个答案:

答案 0 :(得分:2)

不幸的是,数组不能在C中赋值 你可以随时使用:

memcpy(store, output, sizeof(store))(string.h)

复制内存。

答案 1 :(得分:0)

char指针无法存储100 chars。它们可以指向具有100个字符的内存地址,因此output = store;是单向的。

如果要为它们分配内存空间,可以使用:

char *output;
char store[100];
output = malloc(100);
memcpy(output, store, sizeof(store));

但是,如果store包含字符串(以NUL终止),我会改为使用strncpy,如果遇到'\0',则会停止复制:

strncpy(output, store, sizeof(store));