NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

CIN中初始化数组

在CIN中如何初始化数组?如下代码所示:

 /* CIN source file */

 

#include "extcode.h"

 

/* Typedefs */

 

typedef struct {

int32 dimSizes[2];

LStrHandle NumTextText[1];

} TD1;

typedef TD1 **TD1Hdl;

 

typedef struct {

int32 dimSize;

LStrHandle string[1];

} TD2;

typedef TD2 **TD2Hdl;

 

MgErr CINRun(TD1Hdl StatusControlsLabels, LStrHandle strout);

 

MgErr CINRun(TD1Hdl StatusControlsLabels, LStrHandle strout)

{

/* Insert code here */

int i, j, size, count;

int strlen[200];

TD2Hdl tdstr;

MgErr err;

 

count = 0;

size = 0;

strlen[0] = 0;

 

if(!(tdstr = (TD2 **) DSNewHandle(sizeof(TD2) * ((*StatusControlsLabels) -> dimSizes [1]))))

{

err = mFullErr;

goto out;

}

 

// (*tdstr) -> dimSize = (*StatusControlsLabels) -> dimSizes[1];

 

for(i = 0; i < (*StatusControlsLabels) -> dimSizes[1]; i++)

{

MoveBlock(LHStrBuf((*StatusControlsLabels) ->NumTextText[i]), LHStrBuf((*tdstr) ->string[i]),

 LHStrLen((*StatusControlsLabels) -> NumTextText[i]));

size += LHStrLen((*StatusControlsLabels) -> NumTextText[i]);

strlen[i + 1] = size;

}

 

err = NumericArrayResize(uB, 1L, (UHandle *)&strout, size);

 

if(!err)

{

for(j = 0; j < (*StatusControlsLabels) -> dimSizes[1]; j++)

MoveBlock(LHStrBuf((*StatusControlsLabels) -> NumTextText[j]), LStrBuf(*strout) + strlen[i],

 LHStrLen((*StatusControlsLabels) -> NumTextText[j]));

LStrLen(*strout) = size;

}

 

/*

for(i = 0; i < (*StatusControlsLabels) -> dimSizes[0]; i++)

for(j = 0; j < (*StatusControlsLabels) -> dimSizes[1]; j++)

{

size += LHStrLen((*StatusControlsLabels) -> NumTextText[count]);

strlen[count + 1] = size;

count++;

}

 

count = 0;

err = NumericArrayResize(uB, 1L, (UHandle *)&strout, size);

if(!err)

{

for(i = 0; i < (*StatusControlsLabels) -> dimSizes[0]; i++)

for(j = 0; j < (*StatusControlsLabels) -> dimSizes[1]; j++)

{

MoveBlock(LHStrBuf((*StatusControlsLabels) -> NumTextText[count]), LStrBuf(*strout) + strlen[count],

 LHStrLen((*StatusControlsLabels) -> NumTextText[count]));

count++;

}

LStrLen(*strout) = size;

}

 

 */

out:

return err;

}

 上面的tdstr我该如何初始化并分配内存大小?谢谢! 

0 项奖励
1 条消息(共 1 条)
3,393 次查看