威纶通官方论坛

字符数组定义[求助]

[复制链接]
发表于 2011-2-12 16:14:43 | 显示全部楼层 |阅读模式
我定义一个字符串数组,但是好像最多只能输入4个汉字,这是为什么?需要修改哪里的设置么?
char array_hanzi[30]
array_hanzi[0]='高温二级报警'
这样编译的时候总出错
如果去掉2个字就可以编译了,
array_hanzi[0]='高温报警'
 楼主| 发表于 2011-2-14 21:32:15 | 显示全部楼层
没人遇到过类似的问题么?
 楼主| 发表于 2011-2-14 21:32:15 | 显示全部楼层
还是没解决!
 楼主| 发表于 2011-2-14 21:32:15 | 显示全部楼层
期待答案!
发表于 2011-2-14 21:32:15 | 显示全部楼层
我也发现了。。同样的问题。。。
发表于 2011-2-14 21:32:15 | 显示全部楼层
而且还有,定义char array[10]数组后。用getdata进行取值。
如:getdata(array[0],"Local HMI",LW,100,2)
接着立刻
setdata(array[0],"Local HMI",LW,500,X),其中,x=1或2或3或其他任何一个值。

这时,在屏内LW100输入字元tttt,得出的结果,LW500只是等于一个T
发表于 2011-2-14 21:32:15 | 显示全部楼层
最后,发现,在编制宏命令时,点击函数,找到getdata函数和setdata函数,会发现上面有个提示,char【8bit】,,,比较汗。。难道只能一个BYTE的char型变量??
发表于 2011-2-14 21:32:15 | 显示全部楼层
宏指令中CHAR类型的变量是32位的,所以只能有4个汉字;另外在显示元件设置时要设置显示字数
发表于 2011-2-14 21:32:15 | 显示全部楼层
1个汉字=2byte=1word。。。也是不对啊。。。宏指令使用时定义字符型常量只能是4个字母如:char name='chin'。连'china'都不行。

再者,我上面的例子,tttt却只能显示出一个t。。。。

郁闷啊。。
发表于 2011-2-14 21:32:15 | 显示全部楼层
现在想了个最笨的办法。。。不用char变量了。。改成int变量类型。而且,一个6位字母将其分割开成3个word来做。原来12个6字母的char现在分割成3×12个int来进行传递。。。
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-12-25 12:48

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

快速回复 返回顶部 返回列表