请教串口发送字符数值大小的问题?
部分代码如下:#include <rs232.h>
#include <cvirte.h>
...
////定义字符串变量
chargp;
charzp;
....
////初始化
gp=0x0e;
gp=0x1c;
......
gp=0x0d;
gp=0x0a;
zp=0x0b;
zp=0xcd;
.....
zp=0x0d;
zp=0x0a;
//////执行
OpenComConfig (2, "", 19200, 1, 8, 1, 512, 512);
FlushInQ(2);
FlushOutQ(2);
ComWrt (2, gp, 30);
............
OpenComConfig (2, "", 19200, 1, 8, 1, 512, 512);
FlushInQ(2);
FlushOutQ(2);
ComWrt (2, zp, 40);
.............
END.
原来是这样是可行的。现在我想把ComWrt函数中的第三个参数(红色的30 和40)用一个变量统一,这样最后两段代码就可以用一个子函数代替了。
我用strlen(gp) 发现得到的不是数组中元素的个数,而ComWrt()的返回值才是。
现在的问题是如何用变量表示数组中元素的个数?
我想到的最简单的方法是:用一个最大的数作为ComWrt函数中的第三个参数,比如在本例中都写 40 ,不知行否?
各位有什么好的方法? 用sizeof可以得到数组所占的字节数 谢谢 小莫。问题解决了。
但是 为什么在CVI的帮助中查不到sizeof()这个函数
它是属于什么样的函数类型哪?在哪儿能查到?谢谢了 C中都有,不仅仅CVI独有。查不到可以找找SDK
页:
[1]