首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

求vc帮忙定义构造体

2013-08-06 
求vc帮忙定义结构体number5str0aastr1bbstr2ccstr3ddstr4eenumber的值变化,str的个数也会变化,请问

求vc帮忙定义结构体
number=5
str0=aa
str1=bb
str2=cc
str3=dd
str4=ee

number的值变化,str的个数也会变化,请问要定义什么样的结构体存储这些变量?
[解决办法]
很基本的stl操作啊
typedef vector<string> VecString;

VecString str;
str.push_back("aa");
str.push_back("bb");
str.push_back("cc");
str.push_back("dd");
str.push_back("ee");
for (size_t i = 0; i < str.size(); ++i)
{
  std::cout << str[i];
}
或:
for (VecString::iterator it = str.begin(); it != str.end(); ++it)
{
  std::cout << (*it);
}
[解决办法]
动态



typedef struct _tagMyStruct_t
{
  int iNumber;
  LPTSTR *pStr;

  _tagMyStruct_t(int num, LPCTSTR str[])
  {
    iNumber = num;
    pStr = new LPTSTR[num];
    for (int i=0; i<num; i++)
    {
      pStr[i] = new TCHAR[_tcslen(str[i])+1];
      _tcscpy_s(pStr[i], str[i]);
    }
  }

  ~_tagMyStruct_t()
  {
    for(int i=0; i<iNumber; i++)
    {
      delete []pStr[i];
    }
    if(pStr)
      delete []pStr;
    pStr = NULL;
    iNumber = 0;
  }
}MyStruct_t;






//测试
{
  LPCTSTR ss[]=
  {
    _T("aa"), _T("bb"), _T("cc"), _T("dd"), _T("ee")
  };

  MyStruct_t test(_countof(ss), ss);

  TRACE(_T("test.iNumber=%d\n"), test.iNumber);
  for(int i=0; i<test.iNumber; i++)


  {
    TRACE( _T("test.pStr[%d] = %s\n"), i, test.pStr[i]);
  }

  TRACE("");

  // TODO: add construction code here,
  // Place all significant initialization in InitInstance
}



输出
test.iNumber=5
test.pStr[0] = aa
test.pStr[1] = bb
test.pStr[2] = cc
test.pStr[3] = dd
test.pStr[4] = ee

热点排行