利用sprintf和sscanf实现十六进制和十进制之间的相互转换 2013-10-27 12:49 7497人阅读 评论(0) 收藏 举报 分类: C/C++语言(369) 版权声明:本文为博主原创文章,未经博主允许不得转载。 [cpp] view plain copy #include <stdio.h> int main() { char s[100] = {0}; sprintf(s, "%x", 15); printf("%s\n", s); // f char str[100] = "f"; int i = 0; sscanf(str, "%x", &i); printf("%d\n", i); // 15 return 0; } 好,再来看一个程序,加深印象: [cpp] view plain copy #include <stdio.h> #include <limits.h> int main() { char s[100] = {0}; sprintf(s, "%x", INT_MAX); printf("%s\n", s); // 7fffffff char str[100] = "7fffffff"; int i = 0; sscanf(str, "%x", &i); printf("%d\n", i); // 2147483647 return 0; }