zoukankan      html  css  js  c++  java
  • 混乱的字符串转换(转)

    http://hi.baidu.com/jwz_hz/blog/item/9b79bc596cb144d89c82049c.html

    1.char *strtok(char *s, char *delim);
    功能:分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
    说明:首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。

    2.<string.h> or <wchar.h>or<mbstring.h>
    int _stricmp(
       const char *string1,
       const char *string2
    );
    int _wcsicmp(
       const wchar_t *string1,
       const wchar_t *string2
    );
    int _mbsicmp(
       const unsigned char *string1,
       const unsigned char *string2
    );
    int _stricmp_l(
       const char *string1,
       const char *string2,
       _locale_t locale
    );
    int _wcsicmp_l(
       const wchar_t *string1,
       const wchar_t *string2,
       _locale_t locale
    );
    int _mbsicmp_l(
       const unsigned char *string1,
       const unsigned char *string2,
       _locale_t locale
    );
    这几个函数对字符串做比较的时候会先把字符串转换成小写,然后做比较。如:
    char string1[] = "The quick brown dog jumps over the lazy fox";
    char string2[] = "The QUICK brown dog jumps over the lazy fox";
       strcmp:   String 1 is greater than string 2
       _stricmp:  String 1 is equal to string 2
    3数据类型转换
    TCHAR-->bstr       BSTR bsFileName=::T2BSTR(szFileName);
    bstr-->ATL::CString    CString strFileName=bsFileName;
    Atl::CString-->const char *     int nFileNameLen=strFileName.GetLength()*4+1;    char *buffer=new char[nFileNameLen];    strcpy(buffer,CT2A(strFileName));           
    bstr-->tchar BSTR  bstr;     TCHAR  *pt  =  OLE2T(bstr); 或者 #include <atlconv.h> BSTR  bstr;   USES_CONVERSION;  TCHAR  *pt  =  OLE2T(bstr);   或者 BSTR bstrUpdate = _com_util::ConvertStringToBSTR(XXX); SysFreeString(bstrUpdate);
    CString->TCHAR*的转化可以用函数GetBuff()
    函数原型为:LPTSTR GetBuffer( int nMinBufLength );CString str("CString"); TCHAR* szMsg = new TCHAR[100]; //其参数为CString字符串的长度 szMsg = str.GetBuffer(str.GetLength()); str.ReleaseBuffer(); delete []szMsg; szMsg = NULL;
    TCHAR*->CString的转化
    TCHAR szTchar[18] = L"TCHAR";      CString  str;      str.Format(_T("%s"),szTchar);
    Unicode和ANSI之间转换
    namespace _com::util
    {
    //char*-->bstr
    BSTR ConvertStringToBSTR(const char * pSrc);//反过来用ConvertBSTRToString
    }
     

  • 相关阅读:
    CodeForces 604D 【离散数学 置换群】
    CodeForces 604C 【思维水题】`
    CodeForces 602E【概率DP】【树状数组优化】
    CodeForces 602D 【单调队列】【简单数学】
    HDU 3535 【背包】
    CodeForces 593D【树链剖分】
    HYSBZ 1036 【树链剖分】
    POJ 2352 【树状数组】
    POJ 2182【树状数组】
    机器学习实战笔记-2-7分类机器学习形象化总结
  • 原文地址:https://www.cnblogs.com/marryZhan/p/2213969.html
Copyright © 2011-2022 走看看