转自:https://tieba.baidu.com/p/4900650095
HTuple 类似于链表类,但是使用跟方便,有很多方法可以使用。
// HTuple→VC 数据类型转换
HTuple hTuple = 1234;
int i = hTuple[0].I(); // i=1234
long l = hTuple[0].L(); // l=1234
long lNumber = hTuple.Num(); //lNumber=1,数据个数
double d = hTuple[0].D(); // d=1234.0000
hTuple = "1234";
CString strBuffer = hTuple[0].S(); // strBuffer="1234"
// VC→HTuple 数据类型转换
int ii = 1234;
double dd = 1234.1234;
CString strTemp = "Halcon";
HTuple hTuple2;
hTuple2[0] = ii; // hTuple2[0].I()=1234
hTuple2[1] = dd; // hTuple2[1].D()=1234.1234
hTuple2[2] = strTemp.GetBuffer(); // hTuple2[2].S()="Halcon"
i = hTuple2[0].I(); // i=1234
d = hTuple2[1].D(); // d=1234.1234
strBuffer = hTuple2[2].S(); // strBuffer="Halcon"
lNumber = hTuple2.Num(); // lNumber=3,数据个数
在unioncode下,无法使用CString的GetBuffer()来将string转化为HTuple,需要先将CString转化为Char
//unioncode下,将CString转换为Char
int len = WideCharToMultiByte(CP_ACP,0,strPICPath,-1,NULL,0,NULL,NULL);
char *ptxtTemp = new char[len +1];
WideCharToMultiByte(CP_ACP,0,strPICPath,-1,ptxtTemp,len,NULL,NULL);