• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            幽幽
             
            posts - 51,  comments - 28,  trackbacks - 0

            #include <string> //使用C++標準庫的string類時

            using namespace std; //同上

            #include <sstream>

            #include <iostream>

            #include <stdlib.h> //要將string類和int類型直接轉換最好有這些包含,

            //因為自己寫一個轉換函數比較方便,函數定義參考如下

            string getstring ( const int n )

            {

            std::stringstream newstr;
            newstr<<n;
            return newstr.str();

            }

            string 轉 CString
            CString.format(”%s”, string.c_str());

            char 轉 CString
            CString.format(”%s”, char*);

            char 轉 string
            string s(char *);

            string 轉 char *
            char *p = string.c_str();

            CString 轉 string
            string s(CString.GetBuffer());

            1,string -> CString
            CString.format(”%s”, string.c_str());
            用c_str()確實比data()要好.
            2,char -> string
            string s(char *);
            只能初始化,在不是初始化的地方最好還是用assign().
            3,CString -> string
            string s(CString.GetBuffer());
            GetBuffer()后一定要ReleaseBuffer(),否則就沒有釋放緩沖區所占的空間.

            《C++標準函數庫》中說的
            有三個函數可以將字符串的內容轉換為字符數組和C—string
            1.data(),返回沒有”\0“的字符串數組
            2,c_str(),返回有”\0“的字符串數組
            3,copy()

            —————————————————————

            CString與int、char*、char[100]之間的轉換- -

            CString與int、char*、char[100]之間的轉換- -

            CString互轉int

            將字符轉換為整數,可以使用atoi、_atoi64或atol。
            而將數字轉換為CString變量,可以使用CString的Format函數。如
            CString s;
            int i = 64;
            s.Format(”%d”, i)
            Format函數的功能很強,值得你研究一下。

            void CStrDlg::OnButton1()
            {
            // TODO: Add your control notification handler code here
            CString
            ss=”1212.12″;
            int temp=atoi(ss);
            CString aa;
            aa.Format(”%d”,temp);
            AfxMessageBox(”var is ” + aa);
            }

            sart.Format(”%s”,buf);

            CString互轉char*

            ///char * TO cstring
            CString strtest;
            char * charpoint;
            charpoint=”give string a value”;
            strtest=charpoint;

            ///cstring TO char *
            charpoint=strtest.GetBuffer(strtest.GetLength());

            標準C里沒有string,char *==char []==string

            可以用CString.Format(”%s”,char *)這個方法來將char *轉成CString。要把CString轉成char *,用操作符(LPCSTR)CString就可以了。

            CString轉換 char[100]

            char a[100];
            CString str(”aaaaaa”);
            strncpy(a,(LPCTSTR)str,sizeof(a));


            posted on 2008-06-14 05:11 幽幽 閱讀(45768) 評論(4)  編輯 收藏 引用 所屬分類: 雜集

            FeedBack:
            # re: 【轉】C++ int,char,string,CString類型轉換(整理總結)
            2009-05-27 14:55 | 黑鼠
            呵呵,挺好,
            好像有這么一種方法

            CString csTemp; //………………
            CT2CA caTemp(csTemp);
            string strTemp(caTemp);
            strTemp………………

            搞定  回復  更多評論
              
            # re: 【轉】C++ int,char,string,CString類型轉換(整理總結)
            2009-08-08 11:37 | lxm zqs
            好像不行啊,我在VS2008里面用的,
            ///char * TO cstring
            CString strtest;
            char * charpoint;
            charpoint=”give string a value”;
            strtest=charpoint;

            這個不行的。請你再看看  回復  更多評論
              
            # re: 【轉】C++ int,char,string,CString類型轉換(整理總結)
            2009-10-16 17:26 | hengai
            @lxm zqs
            應該是UNICODE的原因吧。在VS2005中默認的就是UNICODE,VS2008應該也一樣。  回復  更多評論
              
            # re: 【轉】C++ int,char,string,CString類型轉換(整理總結)
            2010-02-07 17:58 | 游客也
            看了博主的文章,看到一個地方相當疑惑:
            1.data(),返回沒有”\0“的字符串數組
            2,c_str(),返回有”\0“的字符串數組
            ====================================
            我在vs03(呵呵,很老了),查看了string 的 data()函數的實現
            const _Elem *data() const
            { // return pointer to nonmutable array
            return (c_str());
            }

            很明顯是直接調用c_str()函數,從代碼理解,那么data()和c_str()是一樣效果的
              回復  更多評論
              

            <2025年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            常用鏈接

            留言簿(6)

            隨筆分類(35)

            隨筆檔案(51)

            文章分類(3)

            文章檔案(3)

            相冊

            我的鏈接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久天天躁狠狠躁夜夜2020老熟妇| 久久精品国产亚洲一区二区三区| 久久99这里只有精品国产| 久久亚洲日韩看片无码| 久久综合久久自在自线精品自| 久久91精品国产91久久小草| 狠狠色综合久久久久尤物| 久久笫一福利免费导航| 97久久精品无码一区二区天美 | 97久久精品午夜一区二区| 亚洲欧美精品伊人久久| 久久精品国产久精国产一老狼| 人人狠狠综合久久亚洲婷婷| 伊人精品久久久久7777| 2021国产成人精品久久| 少妇精品久久久一区二区三区| 久久国产香蕉视频| 国产精品久久久福利| 97久久婷婷五月综合色d啪蜜芽| 亚洲午夜久久影院| 国产一区二区三区久久| 久久久无码人妻精品无码| 欧美精品丝袜久久久中文字幕| 久久国产亚洲精品麻豆| 久久精品国产99久久久古代| 久久精品亚洲欧美日韩久久| MM131亚洲国产美女久久| 久久久久免费看成人影片| 亚洲精品乱码久久久久久按摩| 三级片免费观看久久| 久久无码一区二区三区少妇| 久久国产精品波多野结衣AV| 亚洲成人精品久久| 国产69精品久久久久99| 国内精品久久久久影院网站| 国产精品伦理久久久久久| 国产精品99久久精品爆乳| 国产无套内射久久久国产| 99久久亚洲综合精品成人| 人人狠狠综合久久亚洲88| 久久久久无码专区亚洲av|