这是我的代码
char *output;
char store[100];
output = store;
如何将输出内容存储到char数组?
答案 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));