[C++] 將字符串轉換為使用Arduino類型的const char *


Question

我正在使用Arduino庫。 我想從傳感器記錄一些數據,日期時間戳記它,並寫入SD卡。

建立文本文件名我已經嘗試過了

    String dataFileName = String(String(sedClock.getTime().year(),DEC) + 
                         String(sedClock.getTime().month(),DEC) + 
                         String(sedClock.getTime().day(),DEC) + 
                         String(sedClock.getTime().hour(),DEC) + 
                         String(sedClock.getTime().minute(),DEC) + 
                         String(sedClock.getTime().second(),DEC) + '_log.txt');

然後我想用這個文件登錄

      pinMode(SD_PIN,OUTPUT);
      dataFile = SD.open(dataFileName,FILE_WRITE);

但是我明白了

    no matching function call to SDClass::open(String&, int) 
    candidates are: File SDClass::open(const char*,uint_8)

但似乎Arduino字符串不具有相同的

    (const char *) dataFileName.c_str()

所以我不知道如何做正確的轉換

任何幫助將不勝感激。




Links