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。