vc++数据类型转换

    技术2022-06-25  53

    VC++常用数据类型转化及操作

    技术开发 2007-01-29 16:00:13 阅读352 评论0   字号: 订阅

    数学类型变量与字符串相互转换(这些函数都在STDLIB.H里)  

    (1)将数学类型转换为字符串可以用以下一些函数:

    举例: _CRTIMP char * __cdecl _itoa(int, char *, int);//这是一个将数字转换为一个字符串类型的函数,最后一个int表示转换的进制

    如以下程序:

    int iTyep=3;

    char *szChar;

    itoa(iType,szChar,2);

    cout<<szChar;//输出为1010

    类似函数列表:

    _CRTIMP char * __cdecl _itoa(int, char *, int);//为了完整性,也列在其中

    _CRTIMP char * __cdecl _ultoa(unsigned long, char *, int);

    _CRTIMP char * __cdecl _ltoa(long, char *, int);

    _CRTIMP char * __cdecl _i64toa(__int64, char *, int);

    _CRTIMP char * __cdecl _ui64toa(unsigned __int64, char *, int);

    _CRTIMP wchar_t * __cdecl _i64tow(__int64, wchar_t *, int);

    _CRTIMP wchar_t * __cdecl _ui64tow(unsigned __int64, wchar_t *, int);

    _CRTIMP wchar_t * __cdecl _itow (int, wchar_t *, int);//转换为长字符串类型

    _CRTIMP wchar_t * __cdecl _ltow (long, wchar_t *, int);

    _CRTIMP wchar_t * __cdecl _ultow (unsigned long, wchar_t *, int);

    (2)将字符串类型转换为数学类型变量可以用以下一些函数:

    举例: _CRTIMP int  __cdecl atoi(const char *);//参数一看就很明了

    char *szChar=”88”;

    int temp(0);

    temp=atoi(szChar);

    cout<<temp;

    类似的函数列表:

    _CRTIMP int    __cdecl atoi(const char *);

    _CRTIMP double __cdecl atof(const char *);

    _CRTIMP long   __cdecl atol(const char *);

    _CRTIMP long double __cdecl _atold(const char *);

    _CRTIMP __int64 __cdecl _atoi64(const char *);

    _CRTIMP double __cdecl strtod(const char *, char **);//

    _CRTIMP long   __cdecl strtol(const char *, char **, int);//

    _CRTIMP long double __cdecl _strtold(const char *, char **);

    _CRTIMP unsigned long __cdecl strtoul(const char *, char **, int);

    _CRTIMP double __cdecl wcstod(const wchar_t *, wchar_t **);//长字符串类型转换为数学类型

    _CRTIMP long   __cdecl wcstol(const wchar_t *, wchar_t **, int);

    _CRTIMP unsigned long __cdecl wcstoul(const wchar_t *, wchar_t **, int);

    _CRTIMP int __cdecl _wtoi(const wchar_t *);

    _CRTIMP long __cdecl _wtol(const wchar_t *);

    _CRTIMP __int64   __cdecl _wtoi64(const wchar_t *);

    ●数学类型与CString相互转化

     数学类型转化为CString

    可用Format函数,举例:

    CString s;

    int i = 64;

    s.Format("%d", i)

    CString转换为数学类型:举例CString strValue("1.234");

    double dblValue;

    dblValue = atof((LPCTSTR)strValue);

    ●CString与char*相互转换举例

    CString strValue(“Hello”);

    char *szValue;

    szValue=strValue.GetBuffer(szValue);

    也可用(LPSTR)(LPCTSTR)对CString//  进行强制转换.  

    szValue=(LPSTR)(LPCTSTR)strValue;

    反过来可直接赋值:

    char *szChar=NULL;

    CString strValue;

    szChar=new char[10];

    memset(szChar,0,10);

    strcpy(szChar,”Hello”);

    strValue=szChar;


    最新回复(0)