我沒有C++的知識,我必須將一些代碼轉換爲C#。我設法做了一些工作,但是我不太懂得如何轉換幾行文字,所以我在這裏尋求幫助。C++ wchar數組到c#
這是C++代碼:
WCHAR wsSerial[MAX_PATH]={'\0'};
WCHAR wsS2[MAX_PATH]={'\0'};
wcscpy_s(wsSerial, MAX_PATH, m_strSerial);
wcscpy_s(wsS2,MAX_PATH,wsSerial+8);
wsS2[8]=NULL;
ULONG ulCode2 = wcstoul(wsS2, NULL,10);
這是我在C#:
string wsSerial;
string wsS2;
wsSerial = mSerial; //an external input
wsS2 = wsSerial + 8;
wsS2= wsSerial.Substring(0, 8);
long ulCode2 = long.Parse(wsS2);
所以我有兩個問題:
- wsSerial在C數組++但我不需要在C#中使用這個數組,對嗎?我的意思是,它所做的只是存儲一個很大的數字,然後將其轉換爲數字值,對嗎?
- 這到底是什麼? wcscpy_s(WSS2,MAX_PATH,wsSerial + 8)。 + 8讓我失望。
實際上,在C代碼OP正在終止,經過8個字符,所以長度應8. – 2013-02-18 12:17:21
否,原來是將8與源指針,所以開始複製8個字符。 – 2013-02-18 16:14:42
是的,但請看下一個源代碼行。 – 2013-02-18 16:45:25