我正在使用Arduino庫。我想從傳感器記錄一些數據,日期時間戳記它並將其寫入SD卡。將字符串轉換爲使用Arduino類型的const char *
要建立我已經試過
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()
所以我無法弄清楚如何做正確的轉換
任何幫助將不勝感激。
使用str.length()+ 1獲取長度字符串。例如:char __dataFileName [dataFileName.length()+ 1]; dataFileName.toCharArray(__ dataFileName,sizeof(__ dataFileName)); – Guihgo 2015-07-16 18:18:44