keil c中如何把字符串转化为整型 具体一点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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这样的效果来
关键是你需要什么
以上是关于keil c中如何把字符串转化为整型 具体一点的主要内容,如果未能解决你的问题,请参考以下文章