C Macros to create strings -
वैकल्पिक शीर्षक (सहायता सहायता में)
- एक स्ट्रिंग के लिए एक प्रीप्रोसेसर टोकन कन्वर्ट
- एक सी मैक्रो के मान से एक चार स्ट्रिंग कैसे बनाएं
Original प्रश्न
मैं संकलन समय पर शाब्दिक स्ट्रिंग बनाने के लिए C #define का उपयोग करना चाहूंगा।
स्ट्रिंग डोमेन हैं डीबग, रिलीज इत्यादि के लिए परिवर्तन।
मैं कुछ ऐसा कुछ करना चाहूंगा:
#ifdef __TESTING #define IV_DOMAIN domain.org // घर परीक्षण में #elif __LIVE_TESTING #define IV_DOMAIN test.domain.com // लाइव परीक्षण सर्वर # एस्केप IV_DOMAIN domain.com // production #endif // उप-डोमेन # परिभाषित IV_SECURE "secure.IV_DOMAIN" //secure.domain.org आदि #define IV_MOBILE "m.IV_DOMAIN" लेकिन पूर्वप्रक्रमक ""
- < Li> क्या इस के आस पास कोई रास्ता है?
- क्या यह भी एक अच्छा विचार है?
सी में, स्ट्रिंग लीटरल को स्वचालित रूप से जोड़ दिया जाता है उदाहरण के लिए,
const char * s1 = "foo" "बार"; Const char * s2 = "foobar"; s1 और s2 समान स्ट्रिंग हैं।
तो, आपकी समस्या के लिए, उत्तर (बिना टोकन पेस्टिंग) है
#ifdef __TESTING #define IV_DOMAIN "domain.org" #elif __LIVE_TESTING #define IV_DOMAIN "test.domain.com" # # एस्पेन IV_DOMAIN "domain.com" #endif # परिभाषित IV_SECURE "सुरक्षित।" IV_DOMAIN #define IV_MOBILE "मी।" IV_DOMAIN
Comments
Post a Comment