c++ - convert std::string to nsstring issue -


नमस्ते मैं NSString पर std :: string को परिवर्तित करने के लिए निम्न का उपयोग करता हूं लेकिन इसे वापस (रिक्त) जबकि nsstring के मूल्य को प्रदर्शित करने की कोशिश कर रहा है

मुझे रूपांतरण की स्थिति में रिक्त स्थान के बजाय (रिक्त) लौटने की आवश्यकता है

  StudyDate = [NSString stringWithCString: studyDate length : strlen (studyDate)];     

">

संपादन: NSString के निर्माण के लिए वाक्यविन्यास @" स्ट्रिंग " को केवल उपयोग किया जाता है। std :: string के साथ आपको मानक "string" वाक्यविन्यास का उपयोग करना चाहिए।

  NSString * aConstantNSString = @ "foo"; Const char * aConstantCString = "foo"; Std :: string aConstantStdString = "foo"; CFStringRef aConstantCFString = CFSTR ("एफयू");   
  1. आईफोन एसडीके की शुरुआती शुरुआत के बाद से यदि स्ट्रिंग में केवल एएससीआईआई वर्ण होते हैं, तो अक्सर आप कर सकते हैं।

  2. आपकी विधि केवल तभी काम करती है जब अध्ययन डेटा एक सी स्ट्रिंग (अर्थात const char * ), लेकिन आपने कहा है कि आपके पास एक std :: string है। एक NSString में std :: string को सीधे परिवर्तित करने का कोई तरीका नहीं है आपको पहले सी स्ट्रिंग बनाने के लिए .c_str () का उपयोग करना होगा:

      अध्ययनडेट = [NSString stringWithUTF8String: studyDate.c_str ()];   

    (लेकिन उपरोक्त कारण आपको (null) प्राप्त नहीं होनी चाहिए क्योंकि std :: string को पास करना + stringWithCString: लंबाई: या यहां तक ​​कि strlen को तुरंत एक संकलन-समय त्रुटि देनी चाहिए।

      'त्रुटि: परिवर्तित नहीं किया जा सकता है ???   

    तो अध्ययन तिथि पहले से ही हो सकता है एक const char * । हमें यह देखने के लिए अधिक संदर्भ (कोड) की आवश्यकता है।)

Comments