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

笑着哭i 提交于 2020-05-08 15:31:13

(转自: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; 
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!