UnlockOffset是DWORD。 thisKey是一个字符[5]

if(EOF == sscanf_s(thisKey, "%d", &UnlockOffset))

上面的代码将如何在C#中完成?
DWORD已转换为UInt32,并且thiskey仍为char数组,但我仍然不了解sscanf_s

PS:我确实检查了MSDN,但是无法很好地理解它,这就是为什么我在这里发布了它。

最佳答案

sscanf_s基本上读取一个字符串并提取与格式字符串匹配的内容。如果无法提取内容以匹配所有格式的东西,它将返回EOF

你可以做类似的事情

string str = new string(thisKey);
if (!UInt32.TryParse(str, out UnlockOffset))

可以达到类似的目的,但可能会有所严格。 UInt32.TryParse如果可以转换字符串,则返回true,否则返回false,因此检查EOF等效于查看TryParse是否为false。

09-28 09:02