gpt4 book ai didi

c++ - 将 char 指针数组的值复制到 char 数组

转载 作者:行者123 更新时间:2023-11-30 01:47:16 24 4
gpt4 key购买 nike

这是一个简单的游戏,我正在尝试学习如何在现有项目中应用 C++(这是我学得最好的方式),我有使用 C# 和其他高级语言进行编程的经验,所以它对我来说仍然很新.所以我有这个种族列表:

const char* Races[] = {
"Demon",
"Human",
"Elf",
"Orc",
"Aliens"
};

有一次我收到一个用户的注册并选择了一场比赛。我将用户的所有信息保存到一个结构中,我想将比赛的全名也保存到这个结构中。

struct User_t {
unsigned int RaceID;
char Race[16];
};

以下代码是我将值放入结构中的代码:

User_t User;

User.RaceID = 3;
strcpy(User.Race, Races[User.RaceID]);

然而,这是行不通的。这是游戏的一部分,异常处理很糟糕(它基本上使游戏崩溃而没有任何错误可见)。我想弄清楚我做错了什么。有什么建议,也许还有其他方面的建议?

最佳答案

I am trying to figure out what I am doing wrong. Any suggestions, perhaps suggestions on other things as well?

您正在尝试将 C++ 当作 C 来使用(这在语法上是可能的),而您对 C 和 C++ 的了解还不足以做到这一点。

帮自己一个忙,用真正的 C++ 来做:

std::string Races[] = {
"Demon",
"Human",
"Elf",
"Orc",
"Aliens"
};

struct User {
unsigned int RaceID;
std::string Race;

explicit User(unsigned int rid)
: RaceID(rid)
, Race(Races[rid])
{}
};

User user(3);

std::cout << user.Race << '\n';

关于c++ - 将 char 指针数组的值复制到 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31830031/

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