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] ) ;