欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-17 13:26:04
...

(转自:https://blog.csdn.net/stpeace/article/details/13168851

#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; 
}

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

#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; 
}