怎么把一个CString 类型的变量转换成 int 类型的变量?

解决方案 »

  1.   

    cstring s("123");
    int n = atoi((LPCTSTR)s);
      

  2.   

    CString ss = "345";
    int kk = (int)atoi(ss.GetBuffer(lstrlen(ss)));
      

  3.   

    同意 Hopping(♂逍遥剑♂) 的说法
      

  4.   

    format or atoi
    BTW:真受不了了,美女又怎么样。来这里是互相帮助的
      

  5.   

    int n = atoi((char*)(LPCTSTR)s);
      

  6.   

    int n;
    CString s;int nResult=sscanf((const char *)s,"%d",&n);性别无法证实,是否美女也无法证实。上当也认了!
      

  7.   

    呵呵,美女......................................................................................................................................CString cs;
    int n = atoi((LPSTR)(LPCTSTR)cs);
      

  8.   

    呵呵,美女,你好!
    有男朋友吗?我是帅哥,交个朋友好吗?
    CString cs;
    int n = atoi((LPSTR)(LPCTSTR)cs);
      

  9.   

    CString cs;
    int a = atoi(cs);
    这样总可以了吧。不管是不是美女,我都要说。
      

  10.   

    贴片文章你看看,如有帮助就记得给分:),Btw,i believe you.
    发布者:soarlove  
    PART ONE :- DECIMAL CONVERSIONSDecimal To Hexa :-
    ------------------Use _itoa( ) function and set radix to 16.char hexstring[10]; 
    int number = 30;
    itoa( number, hexstring, 16);In hexstring is 1e.
    Hexa To Decimal :-
    ------------------
    a)
    You can use strtol function and you can specify base. 
    char * hexstring= "ABCDEF";
    char * p;
    int number = strtol(hexstring, &p,16);b)
    bool HexToDecimal (char* HexNumber, int& Number)

    char* pStopString; 
    Number = strtol (HexNumber, &pStopString, 16);
    return (bool)(Number != LONG_MAX);
    }
    Decimal to Time :-
    ------------------char *DecToTime(float fTime, char *szTime)
    {
    int nHrs, nMin, nSec; 
    fTime *= 3600;
    nHrs = (int)fTime / 3600;
    nMin = (int)(fTime - nHrs * 3600) / 60;
    nSec = (int)(fTime - nHrs * 3600 - nMin * 60);
    wsprintf(szTime, "%02d.%02d.%02d Hrs.Min.Sec.", nHrs, nMin, nSec);
    return szTime;
    }PART TWO :- STRING CONVERSIONS
    String to Hexa :-
    -----------------sscanf(string, %04X, &your_word16);
    // where string = your string and 04 = length of your string and X = hex
    Hex to CString
    ---------------CString Str;
    unsigned char Write_Buff[1];
    Write_Buff[0] = 0x01;
    Str.Format("0x0%x",Write_Buff[0]);
    COleVariant to CString
    ----------------------CString strTemp;
    COleVariant Var;
    Var = "FirstName";
    strTemp = Var.bstrVal;
    AfxMessageBox(strTemp);
    CString to Char Pointer
    -----------------------
    a)
    CString MyString = "ABCDEF";
    char * szMyString = (char *) (LPCTSTR) MyString;b)
    char *pBuffer = new char[1024];
    CString strBuf = "Test";
    pBuffer = strBuf.GetBuffer(sizeof(pBuffer));
    Char Pointer to CString
    -----------------------char * mystring = "12345";
    CString string = mystring;
    Double to CString including the fractional part :-
    --------------------------------------------------CString strValue,strInt, strDecimal;
    int decimal,sign;
    double dValue = 4.125;
    strValue = _fcvt(dValue,6,&decimal,&sign); // Now decimal contains 1 because there is only one digit before the .
    strInt = strValue.Left(decimal); // strInt contains 4
    strDecimal = strValue.Mid(decimal); // strDecimal contains 125CString strFinalVal;
    strFinalVal.Format("%s.%s",strInt,strDecimal); // strFinalVal contains 4.125
    Double To CString :-
    --------------------
    CString strValue;
    int decimal,sign;double dValue = 123456789101112;
    strValue = _ecvt(dValue,15,&decimal,&sign); // Converting double to string
    CString To Double :-
    ---------------------strValue = "121110987654321";
    dValue = atof(strValue);
    CString to LPCSTR :-
    --------------------CString str1 = _T("My String");
    int nLen = str1.GetLength();
    LPCSTR lpszBuf = str1.GetBuffer(nLen);
    // here do something with lpszBuf...........
    str1.ReleaseBuffer();
    CString to LPSTR :-
    --------------------CString str = _T("My String");
    int nLen = str.GetLength();
    LPTSTR lpszBuf = str.GetBuffer(nLen);
    // here do something with lpszBuf...........
    str.ReleaseBuffer();
    CString to WCHAR*
    -----------------CString str = "A string here" ;
    LPWSTR lpszW = new WCHAR[255];LPTSTR lpStr = str.GetBuffer( str.GetLength() );
    int nLen = MultiByteToWideChar(CP_ACP, 0,lpStr, -1, NULL, NULL);
    MultiByteToWideChar(CP_ACP, 0, lpStr, -1, lpszW, nLen);
    AFunctionUsesWCHAR( lpszW );
    delete[] lpszW;
    LPTSTR to LPWSTR
    ----------------
    int nLen = MultiByteToWideChar(CP_ACP, 0, lptStr, -1, NULL, NULL);
    MultiByteToWideChar(CP_ACP, 0, lptStr, -1, lpwStr, nLen);
    string to BSTR
    --------------
    string ss = "Girish";
    BSTR _bstr_home = A2BSTR(ss.c_str());
    CString to BSTR
    ---------------
    CString str = "whatever" ;
    BSTR resultsString = str.AllocSysString(); 
    _bstr_t to CString
    -------------------#include 
    #include 
    _bstr_t bsText("Hai Bayram");
    CString strName;
    W2A(bsText, strName.GetBuffer(256), 256);
    strName.ReleaseBuffer();
    AfxMessageBox(strName);char szFileName[256];
    GetModuleFileName(NULL,szFileName,256);
    AfxMessageBox(szFileName);
    PART THREE :- CHARACTER ARRAYSChar array to integer
    ---------------------char MyArray[20];
    int nValue;nValue = atoi(MyArray);
    Char array to float
    -------------------char MyArray[20];
    float fValue;fValue = atof(MyArray);
    Char Pointer to double
    ----------------------char *str = " -343.23 "; 
    double dVal; 
    dVal = atof( str ); 
    Char Pointer to integer
    -----------------------char *str = " -343.23 "; 
    int iVal;
    iVal = atoi( str ); 
    Char Pointer to long
    --------------------char *str = "99999"; 
    long lVal; 
    lVal = atol( str );
    Char* to BSTR
    -------------
    char * p = "whatever";
    _bstr_t bstr = p;
    Float to WORD and Vice Versa
    -----------------------------
    float fVar;
    WORD wVar;
    fVar = 247.346;
    wVar = (WORD)fVar; //Converting from float to WORD. The value in wVar would be 247
    wVar = 247;
    fVar = (float)fVar; //Converting from WORD to float. The value in fVar would be 247.00
      

  11.   

    上面的程序是在考视力吧,我的眼照花了。
    小妹妹,你打不打Counter-Strike?有空Q我,14669878。
      

  12.   

    用强制类型转换是非常危险的,看看Lippenman的C++primer中是怎样转的!
      

  13.   

    楼主SB,绝对是个丑女人,
    漂亮女人都要有钱男人养者,哪有要自己出来编程的呀
    _ttol(CString szString)
      

  14.   

    if zyj_soft (鸭子) =美女
        大家就看看是不是
        if 是
           给我
       else 
          垃圾扔了
    else
        说谎
      

  15.   

    cstring s("2332523");
    int n = atoi((LPCTSTR)s);
      

  16.   

    今天刚听了Bjarne Stroustrup的讲座,强制类型转换在面向对象的程序设计中是不提倡的。之所以大家需要,那是因为没有采用oo程序设计。
      

  17.   

    KAO,忍不住了,奶奶个熊,不进来骂两句怎么行。。只要题目有MM就有这么多人回复,俺的问题给100分都没人理,没见过女人啊?切!
      

  18.   

    CString str = "123";
    int n = atoi(str.GetBuffer(str.GetLength()));
      

  19.   

    int StrToInt( 
        LPCTSTR lpSrc 
        );
    #include <shlwapi.h>
    shlwapi.lib
      

  20.   

    注意:uincode , WCHAR 
    其它同上。
      

  21.   

    好家伙,排场不小鸭子.请来这么多星.一声美女令下,csdn的门都快给程破了,此等壮观程面,吾辈好久不见矣!!!众高手,群思群力,唯恐有所纰漏,就差把msdn搬来了......哈哈,这就是中国程序员!!!