应该是atol把
是把cstring转化为long

解决方案 »

  1.   

    long atol( const char *string );
      

  2.   

    int CBaseElement::ReadInt(int &iCurCharPos, const CString &sData)
    {
    int nCount,nLength;
    char cBuf,sBuf[50]; nLength=sData.GetLength();
    cBuf=sData[iCurCharPos];
    while(cBuf<(char)43||cBuf>(char)57||cBuf==(char)44||cBuf==(char)47)
    {
    iCurCharPos++;
    if(iCurCharPos==nLength) return -1;
    cBuf=sData[iCurCharPos];
    }

    nCount=0;
    while((cBuf>=(char)48&&cBuf<=(char)57)||cBuf==(char)43||cBuf==(char)45)
    {
    sBuf[nCount]=cBuf;
    iCurCharPos++;
    cBuf=sData[iCurCharPos];
    nCount++;
    }
    sBuf[nCount]='\0';
    return atoi(sBuf);
    }这是我在做一个项目时写的一段代码,希望你能用上