国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
CString, int, string, char*之間的轉換_C語言教程_C++教程_...

CString, int, string, char*之間的轉換

  項目中經常用到各種不同的語言的朋友們應該會比較有這樣的體會:一種開發(fā)語言用了比較長的時間,突然間轉到另外一種語言的話,不管是數(shù)據(jù)類型或者語法結構,多多少少都會有那么一點不適應。哪怕MFC中的類型與標準C++也是一樣的。下面是MFC/C++/C中字符類型CString, int, string, char*之間的轉換的說明與舉例,經常用的東西,相信對于用C/C++的朋友,還是比較有用的。

    1 CString,int,string,char*之間的轉換

    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轉std::string

    CString str = dlg.GetPathName(); setlocale(LC_ALL, "chs");

    char *p = new char[256];

    wcstombs( p, str, 256 );

    m_fileName = p;

    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(),否則就沒有釋放緩沖區(qū)所占的空間.

    《C++標準函數(shù)庫》中說的

    有三個函數(shù)可以將字符串的內容轉換為字符數(shù)組和C—string

    1.data(),返回沒有“\0”的字符串數(shù)組2,c_str(),返回有“\0”的字符串數(shù)組3,copy()

    CString互轉int

    將字符轉換為整數(shù),可以使用atoi、_atoi64或atol。

    而將數(shù)字轉換為CString變量,可以使用CString的Format函數(shù)。如

    CString s;

    int i = 64;

    s.Format("%d", i) Format函數(shù)的功能很強,值得你研究一下。

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

    2 CString類型的轉換成int

    CString類型的轉換成int

    將字符轉換為整數(shù),可以使用atoi、_atoi64或atol。

    //CString aaa = "16" ;

    //int int_chage = atoi((lpcstr)aaa) ;

    而將數(shù)字轉換為CString變量,可以使用CString的Format函數(shù)。如

    CString s;

    int i = 64;

    s.Format("%d", i) Format函數(shù)的功能很強,值得你研究一下。

    如果是使用char數(shù)組,也可以使用sprintf函數(shù)。

    //CString ss="1212.12";

    //int temp=atoi(ss);

    //CString aa;

    //aa.Format("%d",temp);

    數(shù)字->字符串除了用CString::Format,還有FormatV、sprintf和不需要借助于Afx的itoa

    3 char*在裝int

    #include <stdlib.h>

    int atoi(const char *nptr);

    long atol(const char *nptr);

    long long atoll(const char *nptr);

    long long atoq(const char *nptr);

    4 CString,int,string,char*之間的轉換

    string aa("aaa");

    char *c=aa.c_str();

    cannot convert from 'const char *' to 'char *'

    const char *c=aa.c_str();

    5 CString,int,string,char*之間的轉換string.c_str()只能轉換成const char *,

    要轉成char *這樣寫:

    string mngName;

    char t[200]; memset(t,0,200); strcpy(t,mngName.c_str());

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VC中format用法 各種轉換方式 int 轉 CString char* 轉 int
string,CString,char*之間的轉化
string CSting char * 之間的轉換
CString類常用方法----Format(),sprintf(),itoa(),ltoa(),ultoa(),atoi(),atol(),atof()
VC 強制類型轉換
string和cstring,cstring賦值給char數(shù)組
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服