2015-04-24 6 views
8

मैं * wchar_t करने के लिए एक चार * कन्वर्ट की कोशिश की है का उपयोग कर, लेकिन मैं mbstowcs और विजुअल स्टूडियो mbstowcs_s चाहता है का उपयोग कर कुछ परेशानी आ रही है ...Convert चार * wchar_t के लिए * mbstowcs_s

char *port; 
size_t size = strlen(port) + 1; 
wchar_t* portName = new wchar_t[size]; 
mbstowcs(portName, port, size); 

कैसे कर सकते हैं मैं समारोह को mbstowcs_s में बदलता हूं?

+0

और आपके पास क्या समस्या है? क्या आपने [mbstowcs_s'] पर https:// MSDN संदर्भ देखा है (https://msdn.microsoft.com/en-us/library/eyktyxsx.aspx)? –

+1

सी 4 9 6 9 को अक्षम करने के बारे में क्या? – willll

+1

आपकी एप्लिकेशन सुरक्षा 'mbstowcs_s' से' std :: string' और 'std :: wstring' से कहीं अधिक लाभान्वित होगी। –

उत्तर

19

मैं ठीक सुरक्षित तरीकों का उपयोग करने के लिए जब सुरक्षित कोड चेतावनी को अक्षम करने की सिफारिश नहीं होगा इतना आसान है, इसलिए ये रहा:

const char *port="8080"; 
    size_t size = strlen(port) + 1; 
    wchar_t* portName = new wchar_t[size]; 

    size_t outSize; 
    mbstowcs_s(&outSize, portName, size, port, size-1); 

    std::wcout << portName << std::endl; 

cl /W3 /EHsc VS2013 पर साथ परीक्षण किया गया।

संबंधित मुद्दे