C并在结构之间进行选择

时间:2015-07-09 06:39:31

标签: c class structure microcontroller nxp-microcontroller

我想在我的微控制器上实现一个多语言菜单,但我不知道如何。

我想到了有更多子结构(英语,斯洛文尼亚语,德语,......)的结构语言的一些想法,并且在子结构上有:

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. 

1 个答案:

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