मैं यूनिकोड पथ नाम (एलपीडब्लूस्ट्र) से ASCII समकक्ष में कैसे परिवर्तित कर सकता हूं? लाइब्रेरी जिसे बुलाया जाता है केवल सी स्ट्रिंग को समझता है।मैं एक यूनिकोड पथ को सी स्ट्रिंग में कैसे परिवर्तित कर सकता हूं?
संपादित करें: ठीक है, मैं GetShortPathName और WideCharToMultiByte सुझावों को समझा और कोड के उस टुकड़े बनाया, मुझे कुछ रास्ते में यूनिकोड वर्ण युक्त फ़ोल्डरों के साथ यह परीक्षण किया है और यह दोषरहित काम किया:
wlength = GetShortPathNameW(cpy,0,0);
LPWSTR shortp = (LPWSTR)calloc(wlength,sizeof(WCHAR));
GetShortPathNameW(cpy,shortp,wlength);
clength = WideCharToMultiByte(CP_OEMCP, WC_NO_BEST_FIT_CHARS, shortp, wlength, 0, 0, 0, 0);
LPSTR cpath = (LPSTR)calloc(clength,sizeof(CHAR));
WideCharToMultiByte(CP_OEMCP, WC_NO_BEST_FIT_CHARS, shortp, wlength, cpath, clength, 0, 0);
लेकिन क्या एलपीडब्ल्यूआरटी भी छोटा रास्ता नहीं है? शायद ओपी WideCharToMultiByte की तरह कुछ ढूंढ रहा है? –
मैं वास्तव में उन दोनों के संयोजन की तलाश में हूं। – metafex
@ मेटाफेक्स: शायद आपको अपना प्रश्न तब संपादित करना चाहिए। यह स्वीकार किया जाने वाला उत्तर समझ में नहीं आता है, सवाल यह है कि वर्तमान में यह क्या है। –