मैं अपने कोडमैं # हस्ताक्षरित char * स्ट्रिंग कैसे परिभाषित करूं?
#define PRODUCTNAME "SomeName"
में परिभाषित निम्नलिखित है और मैं एक समारोह com_reply(unsigned char* msg, uint16_t lenght)
के साथ भेजना चाहते हैं।
अब मुझे चेतावनी है कि मेरा तर्क हस्ताक्षर में भिन्न है। मैं जानता हूँ कि समस्या क्या है और यह भी कारण है कि com_reply
unsigned char*
बजाय char*
का उपयोग करता है, मैं सिर्फ जानना चाहता हूँ:
मैं कैसे परिभाषित कर सकते हैं एक unsigned char*
के रूप में मेरे स्ट्रिंग तो मैं हर जगह की चेतावनी मिल के बिना मेरे कार्यक्रम के दौरान उपयोग कर सकते हैं ।
संपादित करें:
सच पूछिये तो मैं यहाँ परिभाषित करता है और अधिक से अधिक और मुख्य कारण है कि वहाँ एक BANNER
परिभाषित कई अन्य परिभाषित करता है के होते हैं जो इस तरह, है:
#define PRODUCTNAME "SomeName"
#define PRODUCTDATE "2013-03-30"
#define BANNER PRODUCTNAME " (" PRODUCTDATE ")"
मैं बनाना चाहिए कॉन्स वैरिएबल्स और उन्हें परिभाषित करने के बजाय कार्यक्रम शुरू करने पर उन्हें संयोजित करें?
क्यों नहीं 'स्थिरांक चार * PRODUCTNAME =" SomeName "' या इसी तरह की? (असंबंधित, लेकिन #define के लिए इसके बहुत सारे नुकसान हैं।) –
मुझे पता नहीं है कि यह मानक-अनुपालन कितना है, लेकिन इसके बारे में क्या है: '(कॉन्स्टेंट न किए गए चार *) "कुछ नाम" ' – Mysticial
जिज्ञासा से,' com_reply' समारोह करो? ऐसा लगता है कि यह ऐसा कुछ है जो वास्तव में एक स्ट्रिंग नहीं लेना चाहिए, बल्कि 0 और 255 के बीच की संख्या के लिए एक सूचक होना चाहिए। – austin