按作为字符串内容接收的名称打印字符串

Print a String by name recieved as the contents of a string?

本文关键字:字符串 打印      更新时间:2023-10-16

我试图创建一个系统,该系统能够使用配置字符串设置LCD上显示的项目。

例:

String configSTRA = "A1A2B2B30000";
  String cADP1 = configSTRA.substring(0, 2);    // => "Code Pair: 1"
  String cADP2 = configSTRA.substring(2, 4);    // => "Code Pair: 2"
  String cADP3 = configSTRA.substring(4, 6);    // => "Code Pair: 3"
  String cADP4 = configSTRA.substring(6, 8);    // => "Code Pair: 4"
String A1 = ("test");
String A2 = ("12:00");
String B2 = ("[V in  ]");
String B3 = ("[V out ]"); 

lcd.print(cADP1);

我想上面的最后一个cmd打印字符串A1的内容?显然,目前它打印A1。

C++无法在运行时字符串和编译时变量名称之间进行映射。您可以使用map自己进行映射。像这样:

std::map<String, String> varMap;
varMap["A1"] = "test";
varMap["A2"] = "12:00";
//...
lcd.print(varMap[cADP1]);