我想在我的微控制器上实现一个多语言菜单,但我不知道如何。
我想到了有更多子结构(英语,斯洛文尼亚语,德语,......)的结构语言的一些想法,并且在子结构上有:
char title[] = "MENU"; //english
但我不知道如何访问我的结构,因为在主类我有一个设置语言的功能。
示例:
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.
答案 0 :(得分:2)
我假设你的所有文字都是硬编码的。只需创建一个字符串数组:
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] ) ;