• <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)

            相冊

            我的鏈接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久免费国产精品| 偷偷做久久久久网站| 久久精品国产一区二区三区日韩| 久久夜色精品国产噜噜亚洲AV| 国产一级持黄大片99久久| 久久中文字幕视频、最近更新 | 热久久视久久精品18| 国产精品9999久久久久| 欧美久久一区二区三区| 国产精品久久久久…| 伊人久久大香线蕉AV色婷婷色| 国内精品久久久久| 午夜人妻久久久久久久久| 久久精品国产精品亚洲人人| 亚洲国产精品无码久久一区二区| 久久免费观看视频| 色综合合久久天天综合绕视看| 亚洲色欲久久久综合网东京热| 久久精品国产99久久香蕉| 国产一久久香蕉国产线看观看 | 久久久久久久亚洲精品| 久久亚洲精品中文字幕| 久久久无码精品亚洲日韩京东传媒 | 久久这里只有精品首页| 久久精品人人做人人爽97| 亚洲午夜无码AV毛片久久| 国产精品99久久久久久猫咪| www性久久久com| 久久精品无码专区免费青青| 伊人久久大香线蕉av不卡| 久久久亚洲AV波多野结衣| 久久亚洲熟女cc98cm| 国产精品久久久久久久app| 综合久久精品色| 亚洲午夜久久久影院伊人| 亚洲AV无码成人网站久久精品大| 久久狠狠爱亚洲综合影院| 亚洲狠狠婷婷综合久久久久| 久久久久久久久无码精品亚洲日韩 | 亚洲国产成人久久一区久久| 欧美与黑人午夜性猛交久久久 |