C和结构之间选择
C and choose between structure
我想在我的微控制器上实现多语言菜单,但我不知道如何实现。
我想到了一些关于具有更多子结构的结构语言的想法(英语、斯洛文尼亚语、德语、...),在子结构上有:
char title[] = "MENU"; //english
但我不知道如何访问我的结构,因为在主 class 我有一个设置语言的功能。
示例:
function choose language{
choose language = 1; //english
//choose language = 2; //slovenian
}
从结构中调用值
PutChar(language[].title); //before choosing the language 1 English, because now call sub structure English.
我假设您将对所有文本进行硬编码。只需创建一个字符串数组:
const char* const title[] = { "MENU" , "MENI" } ;
然后每次访问此类对象都是通过语言枚举器完成的:
enum
{
english = 0 ,
slovenian = 1 ,
} ;
C中的枚举是int,所以上面的代码可以用宏定义来完成,效果一样:
#define english 0
#define slovenian 1
然后您只需定义变量语言、设置语言并打印值。
int language = english ;
puts( title[language] ) ;
language = slovenian ;
puts( title[language] ) ;
我想在我的微控制器上实现多语言菜单,但我不知道如何实现。
我想到了一些关于具有更多子结构的结构语言的想法(英语、斯洛文尼亚语、德语、...),在子结构上有:
char title[] = "MENU"; //english
但我不知道如何访问我的结构,因为在主 class 我有一个设置语言的功能。
示例:
function choose language{
choose language = 1; //english
//choose language = 2; //slovenian
}
从结构中调用值
PutChar(language[].title); //before choosing the language 1 English, because now call sub structure English.
我假设您将对所有文本进行硬编码。只需创建一个字符串数组:
const char* const title[] = { "MENU" , "MENI" } ;
然后每次访问此类对象都是通过语言枚举器完成的:
enum
{
english = 0 ,
slovenian = 1 ,
} ;
C中的枚举是int,所以上面的代码可以用宏定义来完成,效果一样:
#define english 0
#define slovenian 1
然后您只需定义变量语言、设置语言并打印值。
int language = english ;
puts( title[language] ) ;
language = slovenian ;
puts( title[language] ) ;