我不了解 C++,我必须将一些代码转换为 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 让我失望。