使用Arduino将String转换为const-char*类型

convert String to type const char* using Arduino

本文关键字:const-char 类型 转换 Arduino String 使用      更新时间:2023-10-16

我正在使用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);

StringToCharArrayStringGetBytes怎么样?

相关文章: