char[]中读取数值的问题
时间:2010-08-08
来源:互联网
用字符串传递数值,BT的做法,
实在想不起来了,大家看看怎么算出来,有没有现成的函数可用?
char buf[3]={0};
buf[0]=202;
buf[1]=90;
buf[2]=222;
process(buf);
....
void process(char *p)
{
在process函数里,再得到这3个十进制数.
}
谢谢
实在想不起来了,大家看看怎么算出来,有没有现成的函数可用?
char buf[3]={0};
buf[0]=202;
buf[1]=90;
buf[2]=222;
process(buf);
....
void process(char *p)
{
在process函数里,再得到这3个十进制数.
}
谢谢
作者: mezilla 发布时间: 2010-08-08
XX=p[0];
XX=p[1];
XX=p[2];
是这个意思?
XX=p[1];
XX=p[2];
是这个意思?
作者: liwangli1983 发布时间: 2010-08-08
帖子意义不明,到底要什么功能……
作者: daybreakcx 发布时间: 2010-08-08
QUOTE:
帖子意义不明,到底要什么功能……
daybreakcx 发表于 2010-08-08 19:24
daybreakcx 发表于 2010-08-08 19:24

难道我说的真不清楚?!
好吧我在描述一遍,
模型就是这样的
void process(char *p);
main()
{
char buf[3]={0};
buf[0]=202; //主调函数里赋值
buf[1]=90;
buf[2]=222;
process(buf);
}
void process(char *p)
{
//在process函数里,要对主调函数赋值的那些数进行处理,如何取得这些数(本例中就是这三个数:202,90,222)
}
PS:
维护别人的代码就是无趣,至今不明白为什么用char来传递数值?
作者: mezilla 发布时间: 2010-08-08
QUOTE:
难道我说的真不清楚?!
好吧我在描述一遍,
模型就是这样的
void process(c ...
mezilla 发表于 2010-08-08 20:34
好吧我在描述一遍,
模型就是这样的
void process(c ...
mezilla 发表于 2010-08-08 20:34
char还是int什么的无所谓(当数值小于256的时候),存的二进制序列没有什么区别.照原样提出来好了.当然,像222这样的大于char所能表示的最大数值,会被解释成负数.要在函数里再取回成正数,加个强制类型转换就是了
XX = (unsigned char)p[0];
作者: liwangli1983 发布时间: 2010-08-08
直接取出就行,楼上说的很详细
作者: daybreakcx 发布时间: 2010-08-08
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28