FMC CList 实例,元素是结构体struct

来源:互联网 发布:留言板 数据库 编辑:程序博客网 时间:2024/06/03 04:03

声明变量:

struct MyRangeStruct{int n_indext;long long n_start;long long n_end;int len;};CList<MyRangeStruct, MyRangeStruct&> AllRangeList;

初始化CList:

void CMFCcodeDlg::InitMacRangeList(void){int n_max = dest.GetSize();int n_len_temp = 0, n_index_temp = 0;for (int i = 0; i < n_max; i++){MyRangeStruct my_RangeStruct;my_RangeStruct.n_indext = n_index_temp + n_len_temp;n_index_temp = my_RangeStruct.n_indext;ParseCString(dest[i], my_dest, '-');if (my_dest.GetSize() > 1){my_RangeStruct.n_start = Hex2Dec(my_dest[0]);my_RangeStruct.n_end = Hex2Dec(my_dest[1]);my_RangeStruct.len = my_RangeStruct.n_end - my_RangeStruct.n_start + 1;n_len_temp = my_RangeStruct.len;} else if (my_dest.GetSize() == 1){my_RangeStruct.n_start = Hex2Dec(my_dest[0]);my_RangeStruct.n_end = Hex2Dec(my_dest[0]);my_RangeStruct.len = my_RangeStruct.n_end - my_RangeStruct.n_start + 1;n_len_temp = my_RangeStruct.len;}AllRangeList.AddTail(my_RangeStruct);}}


从List中取元素:

MyRangeStruct myRS;POSITION pos = AllRangeList.GetHeadPosition();AllRangeList.GetNext(pos);while(pos!=NULL){    myRS = AllRangeList.GetNext(pos);  //pos 指定的值不变    myRS = AllRangeList.GetAt(pos); //取得下一个pos的值}


0 0
原创粉丝点击