u-6ren">
gpt4 book ai didi

c - C 中的结构体赋值

转载 作者:行者123 更新时间:2023-11-30 18:24:39 27 4
gpt4 key购买 nike

我正在构建一个游戏,当我使用以下代码更改 2d map 中的值时

char example[100];
strcpy(example, " ");
strcat(example, player1->unitName[j]);
strcat(example, " ");
map->map[x][y] = example;

我在 map 更改中举例说明的整个值。

我想我正在将指针指向示例。

有什么方法可以只输入 example 的值而不是地址或指针吗?

最佳答案

您应该为每个元素分配新的缓冲区并像这样复制内容。

char example[100], *buffer;
strcpy(example, " ");
strcat(example, player1->unitName[j]);
strcat(example, " ");
buffer = malloc(strlen(example) + 1); /* +1 for terminating null-character */
if (buffer != NULL) {
strcpy(buffer, example);
} else {
/* handle error */
}
map->map[x][y] = buffer;

您可以使用strdup()如果它在您的系统中可用。

char example[100];
strcpy(example, " ");
strcat(example, player1->unitName[j]);
strcat(example, " ");
map->map[x][y] = strdup(example);

关于c - C 中的结构体赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37684920/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com