CString tem("xxx=00:打开,xxx=01:关闭,xxx=02:终止");
外部得到一个xxx的值和tem里的数做比较,如果=00就显示“打开”,如果=01就显示“关闭”,如果=02就显示“终止”!如何做到呢?

解决方案 »

  1.   

    char* psz[] = {
    "打开",
    "关闭",
    "宗旨"
    }int item = 0;
    for(item=0; item<3;item++)
      printf("%s\n",*(psz[item])); //item
      

  2.   


    00就是零零:)假如xxx=00,我就在屏幕上显示打开,如果等于01,我就显示关闭(我的思路是遍历整个tem)但太耗时了!
      

  3.   

    sscanf()等查找分割":" 和";" ,然后分别截取子字符串,获取对应的数据
      

  4.   


    CString strItemValue;
    strItemValue.Format(_T("%d"), nValue);//nValue就是传入的外部INT值。if(tem.Compare(strItemValue) == 0)  CString 的比较用其方法Compare 相等为0
    {
    //
    }
      

  5.   


    这个完全不对我思路啊,没这么简单,实际情况比这个复杂,我只是举了个简单例子,如果是这样呢CString tem("xxx=00:打开,xxx=03:关闭,xxx=05:终止");
      

  6.   

    干脆使用CMap好了
    CMap<UINT,CString>
      

  7.   

    CString tem("xxx=00:打开,xxx=01:关闭,xxx=02:终止");
        int iYourEnter=1;//XXX的值,我定义的是整型。你自己可以改
     
    CString xxx=_T("");
    if(iYourEnter<10)
    xxx.Format("xxx=0%d",iYourEnter);//xxx的值,相对应的也要改%d
    else
    xxx.Format("xxx=%d",iYourEnter);
        
    int i=0;
    i=tem.Find(xxx,0);

    CString getVaule=_T("");
    if(i>0)
    {
         
     i=tem.Find(":",i);
      getVaule=tem.Mid(i+1,4);

    }else
    getVaule="没找到"; TRACE("%s",getVaule);
      

  8.   

    int index[3] = {0,3,5};
    char content[3] ={"打开","关闭,"终止"};
    for(...)
    {
    if(input = index[i])
    {
    str.format("%s",content[index[i]])
    }
    }
    这样呢?
    ps:
    楼主什么电脑?遍历个这玩意都费劲?
    还是表太大!