我没有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