2012-10-19 8 views
5

में एक क्यूस्ट्रिंग में एक वर्ण सरणी की सामग्री की प्रतिलिपि बनाना मेरे पास एक चरित्र सूचक है कि किसी भी दौड़ में अलग-अलग लंबाई हो सकती है। उदाहरण के लिए:क्यूटी

char* myChar; 

एक समय में अपनी सामग्री "हाय" हो सकता है और एक अन्य समय में यह हो सकता है "बाई"

मैं अगर मैं है, एक QString को myChar की सामग्री की नकल करने के लिए उदाहरण के लिए करना चाहते हैं:

QString myString; 

मैं myCharmyString करने की सामग्री की नकल करना चाहते हैं; मैं उसे कैसे कर सकता हूँ?

+0

क्या यह शून्य-समाप्त हो गया है? – gogoprog

+0

आपका मतलब है 'मायखर'? – TJ1

+0

आप कन्स्ट्रक्टर (QString myString (myChar)) का उपयोग क्यों नहीं करते? – TWE

उत्तर

8

QString::fromLatin1(const char*), QString::fromLocal8Bit(const char*) या QString::fromUtf8(const char*) उचित के रूप में उपयोग करें। ध्यान दें कि आप केवल डेटा कॉपी नहीं कर सकते क्योंकि QStrings में 16-बिट यूनिकोड वर्ण होते हैं। इसे हमेशा 8-बिट प्रतिनिधित्व को डीकोड करने की आवश्यकता होगी।

+0

क्या आप सही आदेश दिखा सकते हैं जिसे मुझे उपयोग करने की आवश्यकता है? – TJ1

+0

@ टीजे 1 यह पहले से ही लिखा गया है। यहां एक नज़र डालें: http://harmattan-dev.nokia.com/docs/library/html/qt4/qstring.html#fromUtf8 यदि आपका मतलब कोड है: QString myString = QString :: fromUtf8 (myChar) से; – besworland

+0

@besworland 'myString' एक वर्ग चर है जिसे मैंने कहीं और मेरी कक्षा परिभाषा में परिभाषित किया है। इसलिए यदि मैंने आपके द्वारा दिखाए गए आदेश का उपयोग नहीं किया है, तो इसका मतलब यह नहीं है कि इसे फिर से परिभाषित किया गया है और यह एक स्थानीय चर होगा जो मेरी कक्षा चर नहीं है? – TJ1