微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > 虚拟仪器 > String 好奇怪呀

String 好奇怪呀

时间:12-13 整理:3721RD 点击:
    设备从串口发出的数据是十六进制的,并且进行了简单的编码。我从串口中读出的
数据是String类型的,显示在Indicator中也是正确的。我想用CIN对数据进行解码,创建的
c文件的形式是这样的:
/* CIN source file */
#include "extcode.h"
MgErr CINRun(uInt16 *ReadCnts, LStrHandle *String, float64 *TempDeg,
float64 *Rate);
MgErr CINRun(uInt16 *ReadCnts, LStrHandle *String, float64 *TempDeg,
float64 *Rate)
{
/* Insert code here */
return noErr;
}
就是这个Sting让我很不解,照理说是LStrHandle的指针类型,我完全应该可以看到里面
的数据,可是每次进断点调试的时候,里面都是说cnt的值不可见,str这个字符数组中什么
也没有。高手给支个招儿吧。我好郁闷呀,先谢谢啦。
*附LStrHandle的类型定义,引自cintools\extcode.h
typedef struct {
int32 cnt;  /* number of bytes that follow */
uChar str[1];  /* cnt bytes */
} LStr, *LStrPtr, **LStrHandle;

用下面这个函数,好像不能直接访问cnt
length=LStrLen(LStrPtr str);

谢谢,可以得到字符个数了,看来ni在里面还是做了些手脚的

可是好像用MoveBlock来读其中的字符串时,居然什么都是0,高手再指点一下吧,谢啦先

我没用过MoveBlock,可以直接读写字符串内容
LStrPtr str;
length=LStrLen(str);
for(i=0;i<length;i++)
{
   ...
   *(str->str+i)  就是字符串中第i个字符的内容
}

It is okey now, thank you very much!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top