一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - C/C++ - string,CString,char*之間的轉(zhuǎn)化

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

2020-11-19 11:00C++教程網(wǎng) C/C++

下面是MFC/C++/C中字符類型CString, int, string, char*之間的轉(zhuǎn)換的說明與舉例,經(jīng)常用的東西,相信對(duì)于用C/C++的朋友,還是比較有用的

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()確實(shí)比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中有個(gè)函數(shù)itoa()
 itoa的用法:
 itoa(i,num,10);
 i 需要轉(zhuǎn)換成字符的數(shù)字
 num 轉(zhuǎn)換后保存字符的變量
 10 轉(zhuǎn)換數(shù)字的基數(shù)(進(jìn)制)10就是說按照10進(jìn)制轉(zhuǎn)換數(shù)字。還可以是2,8,16等等你喜歡的進(jìn)制類型
 原形:char *itoa(int value, char* string, int radix);
 實(shí)例:
 

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


...................................................................
標(biāo)準(zhǔn)C里沒有string,char *==char []==string
可以用CString.Format("%s",char *)這個(gè)方法來將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()確實(shí)比data()要好.
2,char -> string
string s(char *);
只能初始化,在不是初始化的地方最好還是用assign().
3,CString -> string
string s(CString.GetBuffer());
GetBuffer()后一定要ReleaseBuffer(),否則就沒有釋放緩沖區(qū)所占的空間.

《C++標(biāo)準(zhǔn)函數(shù)庫(kù)》中說的
有三個(gè)函數(shù)可以將字符串的內(nèi)容轉(zhuǎn)換為字符數(shù)組和C―string
1.data(),返回沒有"/0“的字符串?dāng)?shù)組
2,c_str(),返回有"/0“的字符串?dāng)?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ù)的功能很強(qiáng),值得你研究一下。

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()確實(shí)比data()要好.
2,char -> string
string s(char *);
只能初始化,在不是初始化的地方最好還是用assign().
3,CString -> string
string s(CString.GetBuffer());
GetBuffer()后一定要ReleaseBuffer(),否則就沒有釋放緩沖區(qū)所占的空間.

《C++標(biāo)準(zhǔn)函數(shù)庫(kù)》中說的
有三個(gè)函數(shù)可以將字符串的內(nèi)容轉(zhuǎn)換為字符數(shù)組和C―string
1.data(),返回沒有"/0“的字符串?dāng)?shù)組
2,c_str(),返回有"/0“的字符串?dāng)?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ù)的功能很強(qiáng),值得你研究一下。

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

標(biāo)準(zhǔn)C里沒有string,char *==char []==string

可以用CString.Format("%s",char *)這個(gè)方法來將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());

標(biāo)準(zhǔn)C里沒有string,char *==char []==string

可以用CString.Format("%s",char *)這個(gè)方法來將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));

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品国产区一区二区三区在线观看 | 精油按摩日本 | 亚洲激情久久 | 午夜影院免费观看视频 | 数学老师扒开腿让我爽快 | 亚洲激情 欧美 | 韩国三级hd中文字幕李采潭 | 精品久久免费视频 | 欧美日韩国产亚洲人成 | 国产免费美女视频 | 热久久免费| 日韩 国产 欧美 精品 在线 | 国产盗摄女厕美女嘘嘘 | 色综合色狠狠天天综合色hd | 亚偷熟乱区视频在线观看 | 久久re视频精品538在线 | 花蝴蝶www| 深夜国产在线 | kayden·kross hd在线 | 爱爱小视频免费看 | 大桥未久midd—962在线 | 欧美精品国产第一区二区 | 牛人国产偷窥女洗浴在线观看 | 亚洲不卡视频在线 | 国产99视频精品免视看7 | 日本妇人成熟免费观看18 | 性吟网| 风间由美一区二区av101 | 亚洲婷婷在线视频 | 精品午夜中文字幕熟女人妻在线 | 久久精品热在线观看85 | 美女隐私部位视频网站 | 日韩播放| 成人免费淫片95视频观看网站 | 91天堂影院 | 精品亚洲综合在线第一区 | 深夜视频在线播放 | 青青青国产成人久久111网站 | eeuss18影院www国产| 日韩性大片免费 | 国产精品亚洲午夜一区二区三区 |