तो सरणी था अशक्त-समाप्त इस सुंदर सीधे आगे होगा:प्रतिलिपि बनाई जा रही गैर अशक्त-समाप्त अहस्ताक्षरित चार सरणी एसटीडी :: स्ट्रिंग
unsigned char u_array[4] = { 'a', 's', 'd', '\0' };
std::string str = reinterpret_cast<char*>(u_array);
std::cout << "-> " << str << std::endl;
हालांकि, मुझे आश्चर्य है कि क्या करने के लिए सबसे उपयुक्त तरीका है एक std::string
में
unsigned char u_array[4] = { 'a', 's', 'd', 'f' };
: एक गैर अशक्त-समाप्त अहस्ताक्षरित चार सरणी कॉपी, निम्नलिखित की तरह।
बिना हस्ताक्षर किए गए चार सरणी पर पुन: प्रयास किए बिना ऐसा करने का कोई तरीका है?
सभी को धन्यवाद।
'हस्ताक्षर किए गए चार *' को 'char *' में कनवर्ट करना, आपको 'reinterpret_cast 'करना होगा। –
@VladLazarenko: लेकिन मैं वह रूपांतरण नहीं करना चाहता हूं। –
@ चार्ल्स: तब आपका कोड संकलित नहीं होगा जब तक कि आप कंपाइलर की सेटिंग्स में हस्ताक्षरित नहीं होने के लिए चार प्रकार के डिफ़ॉल्ट प्रकार को बदलते हैं;) –