我正在使用 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()
所以我不知道如何进行正确的转换
如有任何帮助,我们将不胜感激。
最佳答案
感谢您的帮助。解决方案是
char __dataFileName[sizeof(dataFileName)];
dataFileName.toCharArray(__dataFileName, sizeof(__dataFileName));
pinMode(SD_PIN,OUTPUT);
dataFile = SD.open(__dataFileName,FILE_WRITE);
关于c++ - 使用 Arduino 将字符串转换为类型 const char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11610264/