का उपयोग करके मैं Arduino लाइब्रेरी का उपयोग कर रहा हूं। मैं एक सेंसर से कुछ डेटा लॉग करना चाहता हूं, डेट-टाइम स्टैंप करता हूं और इसे एसडी कार्ड में लिखता हूं।स्ट्रिंग टू टाइप कॉन्स्ट char * Arduino
पाठ फ़ाइल नाम मैं
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]; डेटाफाइलनाम .toCharArray (__ डेटाफाइलनाम, आकार (__ डेटाफाइलनाम)); – Guihgo