日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

string,CString,char*之間的轉(zhuǎn)化

 3D建模仿真 2014-07-14

string,CString,char*之間的轉(zhuǎn)化

int 轉(zhuǎn) CString:
CString.Format("%d",int);
...............................
string 轉(zhuǎn) CString 
CString.format("%s", string.c_str()); 
用c_str()確實比data()要好. 
.......................................
char* 轉(zhuǎn) CString 
CString.format("%s", char*);  
 CString strtest; 
 char * charpoint; 
 charpoint="give string a value"; 
 strtest=charpoint; //直接付值
...................................................................
CString 轉(zhuǎn) int
 CString  ss="1212.12"; 
 int temp=atoi(ss); //atoi _atoi64或atol

將字符轉(zhuǎn)換為整數(shù),可以使用atoi、_atoi64或atol。 
int int_chage = atoi((lpcstr)ss) ;
或:
   CString str = "23";
   UINT uint;
   sscanf(str, "%d", uint);
..............................
string 轉(zhuǎn) int
..............................
char* 轉(zhuǎn) 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);
...................................................................
CString 轉(zhuǎn) string
  string s(CString.GetBuffer()); 
  GetBuffer()后一定要ReleaseBuffer(),否則就沒有釋放緩沖區(qū)所占的空間. 
..........................................
int 轉(zhuǎn) string
..........................................
char* 轉(zhuǎn) string 
 string s(char *); 
 你的只能初始化,在不是初始化的地方最好還是用assign().
...................................................................
CString 轉(zhuǎn) char * 

復(fù)制代碼代碼如下:

 CString strtest="wwwwttttttt";
 charpoint=strtest.GetBuffer(strtest.GetLength());
CString轉(zhuǎn)換 char[100] 
 char a[100]; 
 CString str("aaaaaa"); 
 strncpy(a,(LPCTSTR)str,sizeof(a));
  CString  str="aaa";  
  char*  ch;  
  ch=(char*)(LPCTSTR)str;
 

..........................................
int 轉(zhuǎn) char *
 在stdlib.h中有個函數(shù)itoa()
 itoa的用法:
 itoa(i,num,10);
 i 需要轉(zhuǎn)換成字符的數(shù)字
 num 轉(zhuǎn)換后保存字符的變量
 10 轉(zhuǎn)換數(shù)字的基數(shù)(進制)10就是說按照10進制轉(zhuǎn)換數(shù)字。還可以是2,8,16等等你喜歡的進制類型
 原形:char *itoa(int value, char* string, int radix);
 實例:
 
復(fù)制代碼代碼如下:

 #include "stdlib.h"
 #include "stdio.h"
 main()
 {
 int i=1234;
 char s[5];
 itoa(i,s,10);
 printf("%s",s);
 getchar();
}

..........................................
string 轉(zhuǎn) char * 
復(fù)制代碼代碼如下:

char *p = string.c_str(); 

 string aa("aaa");
 char *c=aa.c_str();
 string mngName;
 char t[200];
 memset(t,0,200);
 strcpy(t,mngName.c_str());
 

...................................................................
標準C里沒有string,char *==char []==string
可以用CString.Format("%s",char *)這個方法來將char *轉(zhuǎn)成CString。要把CString轉(zhuǎn)成char *,用操
作符(LPCSTR)CString就可以了。
cannot convert from 'const char *' to 'char *'
const char *c=aa.c_str(); 
string.c_str()只能轉(zhuǎn)換成const char *

CString 頭文件#include <afx.h>
string 頭文件#include <string.h>

CString 轉(zhuǎn)char *

CString cstr;

char *p = (LPSTR)(LPCTSTR)cstr;

string 轉(zhuǎn) CString
CString.format("%s", string.c_str());

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

char 轉(zhuǎn) string
string s(char *);

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

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

《C++標準函數(shù)庫》中說的
有三個函數(shù)可以將字符串的內(nèi)容轉(zhuǎn)換為字符數(shù)組和C―string
1.data(),返回沒有"/0“的字符串數(shù)組
2,c_str(),返回有"/0“的字符串數(shù)組
3,copy()

―――――――――――――――――――――

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

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

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ù)的功能很強,值得你研究一下。

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互轉(zhuǎn)char*

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

///cstring TO char *

CString 轉(zhuǎn)char *

CString cstr;

char *p = (LPSTR)(LPCTSTR)cstr;

string 轉(zhuǎn) CString
CString.format("%s", string.c_str());

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

char 轉(zhuǎn) string
string s(char *);

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

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

《C++標準函數(shù)庫》中說的
有三個函數(shù)可以將字符串的內(nèi)容轉(zhuǎn)換為字符數(shù)組和C―string
1.data(),返回沒有"/0“的字符串數(shù)組
2,c_str(),返回有"/0“的字符串數(shù)組
3,copy()

―――――――――――――――――――――

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

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

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ù)的功能很強,值得你研究一下。

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互轉(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());

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


charpoint=strtest.GetBuffer(strtest.GetLength());

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

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多