c语言把int转换为char格式

如题所述

可以用库函数中的strtoul,方法网上搜索一下即可。
也可以自己写个函数转换一下代码如下:
int
hexstrtoint(char
*str)
{
int
ret
=
0;
while(*str
!=
0)
{
if(*str
>=
'0'
&&
*str
<=
'9')
ret
=
(ret
<<
4)
+
*str
-
'0';
else
if(*str
>=
'a'
&&
*str
<=
'f')
ret
=
(ret
<<
4)
+
*str
-
'a'
+
10;
else
if(*str
>=
'a'
&&
*str
<=
'f')
ret
=
(ret
<<
4)
+
*str
-
'a'
+
10;
else
return
-1;
str++;
}
return
ret;
}
调用这个函数,就可以返回int型的值了。比如int
r
=
hexstrtoint("10fa");
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-13
内容为数字的char,包含
0,1,2,3,4,5,6,7,8,9
共计10个字符。
这十个字符在存为字符型时,其存储值为对应的ascii码,而这些ascii码是连续的,且按照其本身数字的大小来排列。
这样就可以将字符值,减去起始ascii码值实现转为对应值的效果。

int
a;
//转换的目标变量。
char
c
=
'7';
//要转换的字符。
c
=
a
-
'0';
这样得到的就是对应的值了,即c
=
7。
如果在文件中需要多次该操作,则可以定义一个带参宏,如下:
#define
chartonumber(x)
(x-'0')
这样只需要调用
c
=
chartonumber(a);
即可实现效果。
相似回答