2012-07-23 20 views
7

Arduino kütüphanesini kullanıyorum. Bir sensörden, tarih-zaman damgasından bazı verileri günlüğe kaydetmek ve bir SD karta yazmak istiyorum.convert string to type const char * Arduino kullanarak

Ben

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'); 

Sonra

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

Ama

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

olsun kullanarak o dosyaya giriş yapmak istiyorum çalıştık metin dosyası adını oluşturmak için Fakat öyle görünüyor Arduino dizgisi

eşdeğerine sahip değil
(const char *) dataFileName.c_str() 

yüzden Herhangi bir yardım büyük takdir

doğru dönüşüm yapmak için anlamaya olamaz.

cevap

14

Yardımlarınız için teşekkürler. Çözelti, get uzunluk Stringi için str.length() + 1'i kullanarak

+4

idi. Örneğin: char __dataFileName [dataFileName.length() + 1]; dataFileName.toCharArray (__ dataFileName, sizeof (__ dataFileName)); – Guihgo