<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ##實戰c++中的string系列--CDuiString和string的轉換(duilib中的cduistring) 使用所duilib的人定會知道cduistring類型,先看看這個類是怎么定義的: ~~~ class UILIB_API CDuiString { public: enum { MAX_LOCAL_STRING_LEN = 127/*63*/ }; CDuiString(); CDuiString(const TCHAR ch); CDuiString(const CDuiString& src); CDuiString(LPCTSTR lpsz, int nLen = -1); ~CDuiString(); void Empty(); int GetLength() const; bool IsEmpty() const; TCHAR GetAt(int nIndex) const; void Append(LPCTSTR pstr); void Assign(LPCTSTR pstr, int nLength = -1); LPCTSTR GetData() const; void SetAt(int nIndex, TCHAR ch); operator LPCTSTR() const; TCHAR operator[] (int nIndex) const; const CDuiString& operator=(const CDuiString& src); const CDuiString& operator=(const TCHAR ch); const CDuiString& operator=(LPCTSTR pstr); #ifdef _UNICODE const CDuiString& CDuiString::operator=(LPCSTR lpStr); const CDuiString& CDuiString::operator+=(LPCSTR lpStr); #else const CDuiString& CDuiString::operator=(LPCWSTR lpwStr); const CDuiString& CDuiString::operator+=(LPCWSTR lpwStr); #endif CDuiString operator+(const CDuiString& src) const; CDuiString operator+(LPCTSTR pstr) const; const CDuiString& operator+=(const CDuiString& src); const CDuiString& operator+=(LPCTSTR pstr); const CDuiString& operator+=(const TCHAR ch); bool operator == (LPCTSTR str) const; bool operator != (LPCTSTR str) const; bool operator <= (LPCTSTR str) const; bool operator < (LPCTSTR str) const; bool operator >= (LPCTSTR str) const; bool operator > (LPCTSTR str) const; int Compare(LPCTSTR pstr) const; int CompareNoCase(LPCTSTR pstr) const; void MakeUpper(); void MakeLower(); CDuiString Left(int nLength) const; CDuiString Mid(int iPos, int nLength = -1) const; CDuiString Right(int nLength) const; int Find(TCHAR ch, int iPos = 0) const; int Find(LPCTSTR pstr, int iPos = 0) const; int ReverseFind(TCHAR ch) const; int Replace(LPCTSTR pstrFrom, LPCTSTR pstrTo); int __cdecl Format(LPCTSTR pstrFormat, ...); int __cdecl SmallFormat(LPCTSTR pstrFormat, ...); protected: LPTSTR m_pstr; TCHAR m_szBuffer[MAX_LOCAL_STRING_LEN + 1]; }; ~~~ 下面使用方法: ~~~ 1 Append(LPCTSTR str) 在原字符串基礎上追加一個字符串; CDuiString dui_str; dui_str.Append(_T("我是中國人!")); dui_str.Append(_T("我愛中國!")); 2 Assign(LPCSTR pstr ,int nLength ) 在pstr字符串的nLength位置后的東西全部剪切掉不要; config.Assign(config, config.GetLength()-1); 3 Format(LPCSTR pstrformat, ...); 按照pstrformat字符串的格式,導入其他類型變量 CDuiString folde_path; folde_path.Format(_T("%ls"), std_string); 4 GetLength()采集一個變量的寬度(大小); config.GetLength(); ~~~ 很多時候 難免用到CDuiString和string的轉換。 我們應該注意到,CDuiString類有個方法: ~~~ LPCTSTR GetData() const; ~~~ 可以通過這個方法,把CDuiString變為LPCTSTR ;? 所以下一步只是如何把LPCTSTR 轉為string了。 首先寫一個StringFromLPCTSTR函數,完成轉換: ~~~ std::string StringFromLPCTSTR(LPCTSTR str) { #ifdef _UNICODE int size_str = WideCharToMultiByte(CP_UTF8, 0, str, -1, 0, 0, NULL, NULL); char* point_new_array = new char[size_str]; WideCharToMultiByte(CP_UTF8, 0, str, -1, point_new_array, size_str, NULL, NULL); std::string return_string(point_new_array); delete[] point_new_array; point_new_array = NULL; return return_string; #else return std::string(str); #endif } ~~~ 下面就可以完成duicstring到string的轉換了: ~~~ CDuiString download_link = msg.pSender->GetUserData(); std::string download_link_str = StringFromLPCTSTR(download_link.GetData()); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看