C语言char类型的123怎么转换成 int类型的123? 80

串口接受的数据是char类型的a,要怎么转换为int类型并且值不变。例如:char*a;intb;*a=SBUF;//假如接收到的a的值是123(也就是a="123")/... 串口接受的数据是char类型的a ,要怎么转换为int类型并且值不变。

例如:

char* a;
int b;
*a=SBUF; //假如接收到的a的值是123 (也就是 a="123")

/**
*
*这里要怎么写,其他能达到同样效果的方法也行
*
**/

b=a; //此时b的值也是123
展开
 我来答
孤独的落叶3
2019-06-26 · TA获得超过145个赞
知道小有建树答主
回答量:158
采纳率:83%
帮助的人:77.9万
展开全部
第一:a应该是 char* 或者是 char a[]类型,不应该是 char类型吧
第二:如果是char* 类型的话或者char a[]类型则可以使用以下代码转换成整数
int charsToInt(char *a,int length){
int res = 0;
for(int i = 0;i<length;i++){
int temp = a[i] - '0';
res = res*10+temp;

}
return res;

}
闾乾Oa
2019-06-26 · TA获得超过121个赞
知道答主
回答量:1655
采纳率:16%
帮助的人:86.8万
展开全部
第二:如果是char* 类型的话或者char a[]类型则可以使用以下代码转换成整数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Toggledownfall
2019-06-26
知道答主
回答量:16
采纳率:100%
帮助的人:1.8万
展开全部
b=(*a-'0')*100+(*(a+1)-'0')*10+(*(a+2)-'0')*1;
a定义为char型,1、2、3分别以ASCLL码储存在a对应的地址后,而b为整型,因此减去0的ASCLL码值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
windy笨笨狗
2019-06-26 · TA获得超过112个赞
知道小有建树答主
回答量:152
采纳率:70%
帮助的人:61.5万
展开全部
atoi()字符串转int
类似的还有 atof等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
已存在这个名字
2019-06-25 · TA获得超过159个赞
知道小有建树答主
回答量:262
采纳率:78%
帮助的人:58.2万
展开全部
1楼说得对。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式