请问如何判断一个CString是否是一个int或long型的数字?
就是判断一个字符串是否是一个整数?

解决方案 »

  1.   

    CString里面都是字符串 - 没有什么int / long型。
    但你可以把它们相互转换
    atoi/atol - 字符串->数字
    CString.Format("%d",i); -> 数字转换到字符串
      

  2.   

    visual c++中int和long好像一样的
      

  3.   

    用atoi进行转换,看返回的值。
      

  4.   

    比如CString aa="1024"
    CString bb="kkkkkk";这时aa可以用atoi转成INT,而BB不可以,如何判断是否可以直接转换?
      

  5.   

    //try this
    BOOL IsNumber(LPCTSTR lpszStr)
    {
      CString strTemp = lpszStr;
      char ch;
      for(int i=0;i<strTemp.GetLength();i++)
      {
        ch = strTemp.GetAt(i);   
        if(ch < '0' || ch > '9') return FALSE;
      }
      return TRUE;
    }
      

  6.   

    atoi好象不行
    比如
    CString str = "123kasjdf";
    int n = atoi((LPTSTR)(LPCTSTR)str);
    这时候n=123