打印

求助!!!关于字符串指针变量,其字符对应的ASCI码的输入

[复制链接]
2212|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zyyly|  楼主 | 2008-9-28 15:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
unsigned char code *source_string[17]={{"60.0"},{"58.0"},{"46.0"},{"47.0"},{"55.5"},{"55.1"},{"54.7"},{"54.3"},{"53.9"},{"53.2"},
{"46.0"},{"49.0"},{"47.5"},{"60.0"},{"20.0"},{"24.0"},{"20.0"},};
   long a; long*p;
例如:如何把“60.0”对应的ASCI码36302E30赋给a?又如何把a=36302E30对应的字符串60.0赋给*source_string[0]?谢谢!
沙发
su_mj000| | 2008-9-28 23:56 | 只看该作者

使用标准库函数 atof()

但问题是,‘long’数据类型无法容纳小数部分。解决的途径方法可以是表中的常数放大10倍。
即60.0 -> 600; 54.7 -> 547,...。换用标准库函数atol()。

更简单有效的做法是:
code unsigned int source_string[17]={600, 580, 460, ...};

或:

code float source_string[17]={60.0, 58.0, 46.0, ...};

使用特权

评论回复
板凳
zgl7903| | 2008-10-3 21:04 | 只看该作者

使用UNION联合体结构即可

typedef union _FOURBYTE_UNION
{
  unsigned char uchar_data[4];
  long long_data;
  unsigned long ulong_data;
}FOURBYTE_UNION;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

10

帖子

0

粉丝