利用sprintf和sscanf实现十六进制和十进制之间的相互转换

来源:互联网 发布:正版oracle数据库价格 编辑:程序博客网 时间:2024/06/08 10:13
#include <stdio.h>int main(){char s[100] = {0};sprintf(s, "%x", 15);printf("%s\n", s); // fchar str[100] = "f";int i = 0;sscanf(str, "%x", &i);printf("%d\n", i); // 15return 0; }

    好,再来看一个程序,加深印象:

#include <stdio.h>#include <limits.h>int main(){char s[100] = {0};sprintf(s, "%x", INT_MAX);printf("%s\n", s); // 7fffffffchar str[100] = "7fffffff";int i = 0;sscanf(str, "%x", &i);printf("%d\n", i); // 2147483647return 0; }