怎样用c将无符号整型转化为字符型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用c将无符号整型转化为字符型相关的知识,希望对你有一定的参考价值。

可以通过函数itoa来转换,如将十进制无符号整形a转化为字符串str,可以用如下代码:

int a;

char str[5];

a=423;
itoa(a ,str, 10);

具体展示如下:

建议采用强制转换,容易出现乱码!

参考技术A 如果是转换成char型,则直接强制转换即可。
若转换成字符串的话,则需要转换函数。
如:int a;char temp[10];
itoa(i,temp,10);(最后一个参数表示10进制)
参考技术B 可以通过函数itoa来转换,
int i;
char tmpstr[5];
itoa(i, tmpstr, 10);
这样就可以了.
还可以通过强制转换来完成,
int i;
char s;
s = (char)i;
参考技术C 可以直接进行转换的,无须用什么别的程序,一个强制转换就可以实现。 参考技术D 强制类型转换
unsigned int ui = 85;
char c = (char)ui;

keil c中如何把字符串转化为整型 具体一点

参考技术A 可以使用sscanf,就像sprintf将整型数转换成字符串输出一样,逆运算(KEILC
中scanf和printf确定了通过单片机串行口完成输入输出模式,除非做了修改,一般实际中不用)。给你个例子:
unsigned
char
string[5]="1234";
unsigned
int
n;
sscanf(string,"%u",&n);
//string是字符串,%u是格式控制串,u是无符号十进制数,&n是变量n的地址。
printf
("%d\n",n);
//可在KEIL
C
开发环境中输出观察
你可以把上面这部分代码放到KEIL
C中的HELLO.C程序中观察验证一下。
关于格式控制串(也就是“%u”等),可以查看一下KEIL
C的相关资料,与PC机的C语言略有不同。可以根据不同的要求转换成8进制、16进制、int型、long型等数据,相关符号有一二十种,此处就不细说了。
参考技术B 先说明你为什么想要这样转换。
简单来说用强制类型转换逐个复制到缓冲区中就行。
参考技术C 这问题有点那啥
在一定程度上,其实是可以把字符串理解为数组的,如果你只是要将字符串中的字符一一转化成整型,那只需要这样:
(用lylxy1965的例子)
unsigned
char
string[5]="1234";
unsigned
int
n;
for(
int
i=0;
i<
strlen(string);
i++)

n
=
string[i];
//此时n的值将为“1234”所对应的ASCII码,如string[0]时,n=0x31
//把n拿来处理

如果你是要将字符串中的字符一一转换成其对应的数值,那就在上述循环中加入范围限制和运算即可实现如string[0]时,n=1这样的效果来
关键是你需要什么

以上是关于怎样用c将无符号整型转化为字符型的主要内容,如果未能解决你的问题,请参考以下文章

请教:C语言中如何将一字符串转换成无符号整型

将无符号字符c ++转换为c#

c语言,用循环的方法将字符串“123”转化成数字123,应该怎样写?

创建 Java 实用函数以将无符号字符数组转换为字符串

C语言中,64位无符号整型如何进行开方运算?

C语言中,64位无符号整型如何进行开方运算?