欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2013年03月28日 23:40:13   作者:  
下面是MFC/C++/C中字符類型CString, int, string, char*之間的轉(zhuǎn)換的說明與舉例,經(jīng)常用的東西,相信對于用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中有個函數(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 *)這個方法來將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ù)庫》中說的
有三個函數(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ù)庫》中說的
有三個函數(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 *)這個方法來將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 *)這個方法來將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));

相關(guān)文章

  • 如何用C寫一個web服務(wù)器之基礎(chǔ)功能

    如何用C寫一個web服務(wù)器之基礎(chǔ)功能

    C語言是一門很基礎(chǔ)的語言,程序員們對它推崇備至,本文將帶著大家來看一下,如何用C寫一個web服務(wù)器。
    2021-05-05
  • 利用Matlab制作抖音同款含褶皺面料圖

    利用Matlab制作抖音同款含褶皺面料圖

    這篇文章主要介紹了如何利用Matlab制作抖音的同款含褶皺面料圖,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Matlab有一定幫助,需要的可以參考一下
    2022-03-03
  • 淺談C語言之字符串處理函數(shù)

    淺談C語言之字符串處理函數(shù)

    下面小編就為大家?guī)硪黄獪\談C語言之字符串處理函數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • C語言實(shí)現(xiàn)歌手比賽系統(tǒng)

    C語言實(shí)現(xiàn)歌手比賽系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)歌手比賽系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C指針原理教程之AT&T匯編

    C指針原理教程之AT&T匯編

    AT&T 匯編是一種和intel匯編在語法上完全不同的匯編語言,為避免混淆intel語法,本文只介紹AT&T匯編,AT&T的第一個特點(diǎn)就是每個寄存器名前必須加‘%’,立即數(shù)前必須加‘$’
    2019-02-02
  • 實(shí)現(xiàn)去除c語言注釋的小工具

    實(shí)現(xiàn)去除c語言注釋的小工具

    這篇文章主要介紹了實(shí)現(xiàn)去除c語言注釋的小工具,說是C語言,但其實(shí)所有C語系的都可以,比如Java,需要的朋友可以參考下
    2014-02-02
  • C語言題目:有多少張桌子--并查集

    C語言題目:有多少張桌子--并查集

    并查集是一種用于管理分組的數(shù)據(jù)結(jié)構(gòu)。它具備兩個操作:(1)查詢元素a和元素b是否為同一組 (2) 將元素a和b合并為同一組,需要的朋友可以參考下
    2021-09-09
  • C語言實(shí)現(xiàn)繪制繞線畫的示例代碼

    C語言實(shí)現(xiàn)繪制繞線畫的示例代碼

    繞線畫簡單點(diǎn)來說,就是在木板上釘一圈釘子,通過繞線進(jìn)行構(gòu)圖,最終呈現(xiàn)出一幅圖像。本文將用C語言實(shí)現(xiàn)這一效果,感興趣的小伙伴可以嘗試一下
    2022-11-11
  • C++利用opencv實(shí)現(xiàn)人臉檢測

    C++利用opencv實(shí)現(xiàn)人臉檢測

    這篇文章主要為大家詳細(xì)介紹了C++利用opencv實(shí)現(xiàn)人臉檢測,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++語言實(shí)現(xiàn)開心消消樂

    C++語言實(shí)現(xiàn)開心消消樂

    這篇文章主要為大家詳細(xì)介紹了C++語言實(shí)現(xiàn)開心消消樂,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12

最新評論