उपयोग आपके चर के डेटा प्रकार पर निर्भर करेगा।
यदि वे हैं int
, तो यह होगा %d
या %i
यदि वे हैं string
, तो यह होगा%s
प्रिंटफ़ के लिए आवरण
आप अपनी आवश्यकताओं के आधार पर सीमा बदल सकते हैं
#include <stdarg.h>
void p(char *fmt, ... ){
char buf[128]; // resulting string limited to 128 chars
va_list args;
va_start (args, fmt );
vsnprintf(buf, 128, fmt, args);
va_end (args);
Serial.print(buf); // Output result to Serial
}
स्रोत: https://playground.arduino.cc/Main/Printf
उपयोग के उदाहरण:
p("Var 1:%s\nVar 2:%s\nVar 3:%s\n", var1, var2, var3); // strings
p("Var 1:%d\nVar 2:%d\nVar 3:%d\n", var1, var2, var3); // numbers
ESP8266
इसका अंतर्निर्मित Serial
ढांचा वर्ग। अतिरिक्त पुस्तकालय या समारोह के लिए कोई ज़रूरत नहीं है।
// strings
Serial.printf("Var 1:%s\nVar 2:%s\nVar 3:%s\n", var1, var2, var3);
// numbers
Serial.printf("Var 1:%d\nVar 2:%d\nVar 3:%d\n", var1, var2, var3);
प्रिंटफ़ प्रारूप संदर्भ पृष्ठ पर युक्तियों को प्रारूपित करने के बारे में अधिक जानकारी: http://www.cplusplus.com/reference/cstdio/printf/
\n
लाइन फ़ीड के लिए भागने का क्रम है।
एस्केप सीक्वेंस का उपयोग स्ट्रिंग शाब्दिक और चरित्र शाब्दिक के भीतर कुछ विशेष वर्णों का प्रतिनिधित्व करने के लिए किया जाता है।
स्रोत: http://en.cppreference.com/w/cpp/language/escape
[संपादित करें]
- जैसा कि @ जुराज ने उल्लेख किया है, यह अधिकांश एवीआर मॉड्यूल पर उपलब्ध नहीं है। इसलिए मैंने ईएसपी 8266 का उल्लेख किया और आम एवीआर मॉड्यूल के लिए एक प्रिंटफ़ आवरण