簡體   English   中英

C-在方法中使用typedef

[英]C - Using typedefs in methods

我正在嘗試制作一款基本結構的游戲,該結構使用了玩家/敵人信息的結構

typedef struct Entities {
char Name[100];
int Health;
int Strength;
int Defence;
} Entity;

我有一種方法,用戶可以在其中創建自己的角色

void CreateCharacter() {
system("cls");
printf("Please enter your name: ");
fgets(Player.Name, strlen(Player.Name), stdin);
Player.Name[strlen(Player.Name) - 1] = '\0';
printf("%s's Stats\n",Player.Name);
Player.Health = 10;
Player.Strength = 10;
Player.Defence = 10;
printf("Health - %d\n", Player.Health);
printf("Strength - %d\n", Player.Strength);
printf("Defence - %d\n", Player.Defence);
printf("Is this okay?");
getch();
}

實體“玩家”是在主要方法或其他功能之外定義的。 問題是無法輸入玩家實體的名稱。 它完全跳過了fgets部分。 我做錯了什么?

strlen(Player.Name)

由於未初始化的字符串,返回0。 這意味着您想從fgets()中的stdin獲取0個字符。 您必須指定緩沖區大小(輸入名稱字符串的最大期望值)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM