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

            <2009年12月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(6)

            隨筆分類(35)

            隨筆檔案(51)

            文章分類(3)

            文章檔案(3)

            相冊

            我的鏈接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            精品99久久aaa一级毛片| 精品国产乱码久久久久久郑州公司 | 久久久久亚洲AV无码专区网站| 国产精品99久久不卡| 中文字幕无码av激情不卡久久| 日产精品久久久一区二区| 久久久精品人妻无码专区不卡 | 久久精品国产福利国产秒| 欧美久久综合九色综合| 性做久久久久久久| 精品久久久久久久久久久久久久久 | 久久精品国产亚洲av水果派 | 狠狠色丁香婷婷综合久久来| 久久se这里只有精品| 潮喷大喷水系列无码久久精品| 久久性精品| 一本大道久久a久久精品综合| 亚洲综合日韩久久成人AV| 久久国产精品偷99| 国产精品久久久久9999| 久久天堂AV综合合色蜜桃网| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区| 亚洲精品乱码久久久久久蜜桃图片| 久久黄视频| 国产亚洲欧美成人久久片| 久久精品国产亚洲av麻豆蜜芽| 三级韩国一区久久二区综合| 精品久久久无码中文字幕| 97超级碰碰碰碰久久久久| 久久久久久a亚洲欧洲aⅴ| 国产成人久久激情91| 久久99热精品| 久久夜色精品国产亚洲| 丁香五月网久久综合| 国产高潮国产高潮久久久| 精品无码久久久久久午夜| 久久精品国产亚洲AV高清热| 精品久久久久久无码专区不卡| 狠狠久久亚洲欧美专区| 成人资源影音先锋久久资源网| 99久久人妻无码精品系列蜜桃|