• <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 幽幽 閱讀(45757) 評論(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()是一樣效果的
              回復  更多評論
              

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

            常用鏈接

            留言簿(6)

            隨筆分類(35)

            隨筆檔案(51)

            文章分類(3)

            文章檔案(3)

            相冊

            我的鏈接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久久久久曰本AV免费免费| 99久久99这里只有免费费精品| 国产精品久久久久影院色| 亚洲国产美女精品久久久久∴| 久久中文字幕人妻丝袜| 人妻精品久久久久中文字幕一冢本| 99久久精品免费看国产一区二区三区 | 国产午夜福利精品久久| 久久亚洲电影| 午夜精品久久久久久99热| 久久精品免费观看| 久久伊人中文无码| 久久精品免费一区二区三区| 人人狠狠综合久久亚洲高清| 精品久久久无码人妻中文字幕豆芽| 香蕉久久夜色精品国产小说| 亚洲伊人久久成综合人影院 | 一本伊大人香蕉久久网手机| 久久综合久久伊人| 色综合久久天天综合| 伊人久久大香线蕉成人| 94久久国产乱子伦精品免费| 久久天天躁狠狠躁夜夜不卡| 国产成人精品久久一区二区三区av| 18禁黄久久久AAA片| 国产成人综合久久久久久| AV无码久久久久不卡网站下载| 久久受www免费人成_看片中文| 国产成人久久777777| 精品久久久久久无码专区| 久久精品国产2020| 国产免费久久精品99re丫y| 欧美久久天天综合香蕉伊| 久久久久久亚洲精品不卡 | 久久久艹| 欧美亚洲另类久久综合婷婷| 久久综合给合综合久久| 亚洲日本va午夜中文字幕久久| 久久久久亚洲精品男人的天堂| 久久艹国产| 亚洲欧洲精品成人久久曰影片|