मैं एक wchar_tQChar wchar_t को
मैं कोशिश की है करने के लिए एक QChar बदलने की आवश्यकता है:
#include <cstdlib>
#include <QtGui/QApplication>
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
QString mystring = "Hello World\n";
wchar_t myArray[mystring.size()];
for (int x=0; x<mystring.size(); x++)
{
myArray[x] = mystring.at(x).toLatin1();
cout << mystring.at(x).toLatin1(); // checks the char at index x (fine)
}
cout << "myArray : " << myArray << "\n"; // doesn't give me correct value
return 0;
}
ओह और इससे पहले कि कोई .toWCharArray (wchar_t * सरणी) फ़ंक्शन का उपयोग पता चलता है, मैं मैंने कोशिश की है और यह अनिवार्य रूप से उपरोक्त की तरह ही करता है और वर्णों को स्थानांतरित नहीं करता है जैसा कि इसे करना चाहिए। मैं दिनों के लिए इस साधारण सी समस्या पर किया गया है,
#include <cstdlib>
#include <QtGui/QApplication>
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
QString mystring = "Hello World\n";
cout << mystring.toLatin1().data();
wchar_t mywcharArray[mystring.size()];
cout << "Mystring size : " << mystring.size() << "\n";
int length = -1;
length = mystring.toWCharArray(mywcharArray);
cout << "length : " << length;
cout << mywcharArray;
return 0;
}
कृपया मदद:
नीचे अगर तुम मुझे विश्वास नहीं होता कि के लिए कोड है। मैं आदर्श रूप से wchar_t का उपयोग नहीं करना चाहूंगा लेकिन दुर्भाग्य से सीरियल आरएस 232 कमांड का उपयोग करके पंप को नियंत्रित करने के लिए किसी तीसरे पक्ष के फ़ंक्शन में इस प्रकार के पॉइंटर की आवश्यकता होती है।
धन्यवाद।
संपादित करें: इस कोड को चलाने के लिए आपको क्यूटी पुस्तकालयों की आवश्यकता होगी, आप इन्हें क्यूटी निर्माता डाउनलोड करके प्राप्त कर सकते हैं और कंसोल में आउटपुट प्राप्त करने के लिए आपको "CONFIG + = console" कमांड को जोड़ना होगा। नेटबीन्स प्रोजेक्ट का उपयोग करते हुए समर्थक फ़ाइल (क्यूटी निर्माता में) या गुणों के तहत कस्टम परिभाषाओं के लिए।
संपादित करें: अपने सही जवाब के लिए नीचे दिए गए Vlad को
धन्यवाद:
यहाँ एक ही बात करने के लिए अद्यतन कोड लेकिन चार विधि से एक हस्तांतरण चार का उपयोग कर और अशक्त समाप्ति जोड़ने के लिए याद है।
#include <cstdlib>
#include <QtGui/QApplication>
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
QString mystring = "Hello World\n";
wchar_t myArray[mystring.size()];
for (int x=0; x<mystring.size(); x++)
{
myArray[x] = (wchar_t)mystring.at(x).toLatin1();
cout << mystring.at(x).toLatin1();
}
myArray[mystring.size()-1] = '\0'; // Add null character to end of wchar array
wcout << "myArray : " << myArray << "\n"; // use wcout to output wchar_t's
return 0;
}
व्लाड की तरह नीचे बताया गया है, आपका कोड मूल रूप से wchar_t स्ट्रिंग आउटपुट के लिए cout का उपयोग करने के अलावा अन्य सही है। Wcout पर अंतिम cout बदलें आपको सही परिणाम देगा। –