从十进制ASCII数到int字符

时间:2017-10-26 23:04:01

标签: arduino ascii

我想从包含整数的SD卡中读取文件。读取函数返回48到57之间的十进制ASCII值,对应于字符'0''9'。如何将此字符保存为整数?这是我现在的代码。如果我运行此代码并从文件中读取'0',则访问权限将为48且c也是如此。

char c;
String chat_id;
int access;

int getaccess(String chat_id) {
  String a = "Gebruikers/" + chat_id + ".txt";
  if (!SD.exists(a.c_str())) {
    return 0;
  } else {
    myFile = SD.open("Gebruikers/" + chat_id + ".txt");
    if (myFile) {
      Serial.println("Getting the access number");
      access = myFile.read();
      myFile.close();
      Serial.println("done.");
      c = access + 0;
      return c;
    } else {
      Serial.println("error opening " + nummer + ".txt");
    }
  }
}

1 个答案:

答案 0 :(得分:2)

如果您正在读取单个数字,那么只需从ASCII代码中减去48即可获得该数字。

最常写作:

int oneDigitNumber = someAsciiCode - '0';