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

            c++中string的一些轉(zhuǎn)換

            這是我上次從這里看到的把它給保存了下來,希望對你有用。 
            1. c++中string到int的轉(zhuǎn)換 
            1) 在C標(biāo)準(zhǔn)庫里面,使用atoi: 

            #include <cstdlib> 
            #include <string> 

            std::string text = "152"; 
            int number = std::atoi( text.c_str() ); 
            if (errno == ERANGE) //可能是std::errno 

            //number可能由于過大或過小而不能完全存儲 

            else if (errno == ????) 
            //可能是EINVAL 

            //不能轉(zhuǎn)換成一個數(shù)字 


            2) 在C++標(biāo)準(zhǔn)庫里面,使用stringstream:(stringstream 可以用于各種數(shù)據(jù)類型之間的轉(zhuǎn)換) 

            #include <sstream> 
            #include <string> 

            std::string text = "152"; 
            int number; 
            std::stringstream ss; 


            ss < < text;//可以是其他數(shù)據(jù)類型 
            ss >> number; //string -> int 
            if (! ss.good()) 

            //錯誤發(fā)生 



            ss < < number;// int->string 
            string str = ss.str(); 
            if (! ss.good()) 

            //錯誤發(fā)生 


            3) 在Boost庫里面,使用lexical_cast: 

            #include <boost/lexical_cast.hpp> 
            #include <string> 

            try 

            std::string text = "152"; 
            int number = boost::lexical_cast < int >( text ); 

            catch( const boost::bad_lexical_cast & ) 

            //轉(zhuǎn)換失敗 
            }                      

            2.string 轉(zhuǎn) CString 
            CString.format(”%s”, string.c_str()); 
            用c_str()確實比data()要好; 


            3.char 轉(zhuǎn) CString 
            CString.format(”%s”, char*); 

            4.char 轉(zhuǎn) string 
            string s(char *); 
            只能初始化,在不是初始化的地方最好還是用assign(). 


            5.string 轉(zhuǎn) char * 
            char *p = string.c_str(); 

            6.CString 轉(zhuǎn) string 
            string s(CString.GetBuffer()); 
            GetBuffer()后一定要ReleaseBuffer(),否則就沒有釋放緩沖區(qū)所占的空間. 

            7.字符串的內(nèi)容轉(zhuǎn)換為字符數(shù)組和C—string 
            (1)  data(),返回沒有”\0“的字符串?dāng)?shù)組 
            (2)  c_str(),返回有”\0“的字符串?dāng)?shù)組 
            (3)  copy() 

            8.CString與int、char*、char[100]之間的轉(zhuǎn)換 

            (1) CString互轉(zhuǎn)int 

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

            void CStrDlg::OnButton1() 

              CString 
              ss=”1212.12″; 
              int temp=atoi(ss); 
              CString aa; 
              aa.Format(”%d”,temp); 
              AfxMessageBox(”var is ” + aa); 


            (2) CString互轉(zhuǎn)char* 

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

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

            (3) 標(biāo)準(zhǔn)C里沒有string,char *==char []==string, 可以用CString.Format(”%s”,char *)這個方法來將char *轉(zhuǎn)成CString。 
                要把CString轉(zhuǎn)成char *,用操作符(LPCSTR)CString就可以了。 
                CString轉(zhuǎn)換 char[100] 
              char a[100]; 
              CString str(”aaaaaa”); 
              strncpy(a,(LPCTSTR)str,sizeof(a)); 

            posted on 2009-05-31 12:38 Brandon 閱讀(455) 評論(0)  編輯 收藏 引用 所屬分類: C++

            <2009年4月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            導(dǎo)航

            統(tǒng)計

            常用鏈接

            留言簿(2)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            收藏夾

            IT WEB

            常用鏈接

            牛人BLOG

            學(xué)習(xí)網(wǎng)站

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            99久久国产主播综合精品| 香蕉久久AⅤ一区二区三区| 久久精品国产99国产精品导航 | 欧美久久综合九色综合| 色99久久久久高潮综合影院| 亚洲欧美伊人久久综合一区二区| 久久精品国产亚洲AV嫖农村妇女| segui久久国产精品| 亚洲国产欧美国产综合久久| 久久精品视频免费| 中文字幕精品久久| 国内精品久久九九国产精品| 久久亚洲国产最新网站| 久久久精品午夜免费不卡| 久久播电影网| 丰满少妇高潮惨叫久久久| 热RE99久久精品国产66热| 久久一日本道色综合久久| 亚洲人成无码久久电影网站| 久久精品国产亚洲av麻豆小说| 久久不见久久见免费影院www日本| 72种姿势欧美久久久久大黄蕉| 亚洲?V乱码久久精品蜜桃| 久久精品国产99国产精偷| 77777亚洲午夜久久多人| 日韩亚洲国产综合久久久| 人人狠狠综合久久亚洲88| 国产精品美女久久久久久2018| 久久久久久久波多野结衣高潮| 人人狠狠综合88综合久久| 国产精品成人久久久久久久| 精品久久久久久| 久久精品99久久香蕉国产色戒| 色欲综合久久中文字幕网| 国内精品久久久久影院薰衣草 | 国内精品伊人久久久久妇| 久久久久黑人强伦姧人妻| 久久久免费观成人影院| 99热都是精品久久久久久| 久久青青草原国产精品免费 | 久久强奷乱码老熟女网站|