【发布时间】:2014-11-05 07:12:04
【问题描述】:
strtol 对我的程序来说非常慢,我希望它非常快
所以例如我有这个字符串:
PCHAR ex = "\x55\xEC" etc...
它们是十六进制的,所以如果我想在没有“\x”的情况下写成“55 EC”等。我必须使用 strtol,但 strtol 对我的程序来说非常慢,我想要最快的在我的节目中..
I use strtol like (CHAR)strtol(ex, &ex, 16);
介意帮帮我吗?
【问题讨论】:
-
你想做什么?显示没有 0x 前缀的数组?
-
这对你有用吗?当
ex是一个数组时,将&ex作为第二个参数传递是没有意义的。 -
哦,对不起,它是
PCHAR ex = "\x55\xEC";所以我想做的是:输入没有 \x 的十六进制字符,所以它会是:PCHAR ex = "55 EC"然后使用 strtol 的 alt 将其更改为\x55\xEC -
如果我现在理解了你的问题,我想你可以通过首先将文本模式转换为二进制并像以前一样使用二进制进行模式匹配来加快你的程序。
-
所以我会将“55 EC”转换为二进制并继续?但它是否仍然与将“55 EC”转换为二进制而不将“55 EC”转换为“\x55\xEC”相同?