c - 如何转换字符串以便可以将字符串读取为十六进制值?

标签 c

如果给我一个字符串“192f3c”,如何操作该字符串以便能够将其读取为十六进制值“19”、“2f”和“3c”?

我正在用 C 语言编程。

////////////////////////////

抱歉造成困惑。希望这能澄清。 我正在尝试将哈希值与给定的哈希值进行比较。

int main(int argc, char *argv[]) {
    /* hashing done here with sha1 and stored in "value" */

    if (argv[1] == value) {
        printf("%s\n", "hash matches");
    } else {
        printf("%s\n", "hash fails");
    }

    return 0;
}

所以一般要点是,如果执行“./a.out 3f3c”,它会告诉我哈希值是否与输入值匹配。

当我尝试将字符串与十六进制的实际哈希值进行比较时,就会出现问题。所以我试图弄清楚如何转换其中之一,以便我可以比较两者。

最佳答案

如果您正在寻找库函数,请使用 atoh来自 stdlib.h

关于c - 如何转换字符串以便可以将字符串读取为十六进制值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29664598/

相关文章:

objective-c - 将 Cocoa header 链接到 ruby​​ C 扩展

c++ - 在 Ubuntu 中编译 SuiteSparse,安装 CHOLMOD 时中断

c - c语言中如何包含头文件

c++ - 如何确保 lrint 在 gcc 中内联?

c - 使用 gcc,如何将库 (-lpthread) 包含到我自己的静态用户库中?

c - 使用原始套接字从 recvfrom 获取数据

c - 如何使用android ndk在android中旋转图像

c - C中的POSIX线程本地数据

C++ 从结构数组中得到错误的值

C 宏一次性定义多个变量