0

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

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

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. 
4

1 回答 1

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] ) ;
于 2015-07-09T07:51:45.060 回答