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

服務(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)常用的東西,相信對于用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()確實比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);
 實例:
 

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

延伸 · 閱讀

精彩推薦
  • C/C++學(xué)習(xí)C++編程的必備軟件

    學(xué)習(xí)C++編程的必備軟件

    本文給大家分享的是作者在學(xué)習(xí)使用C++進(jìn)行編程的時候所用到的一些常用的軟件,這里推薦給大家...

    謝恩銘10102021-05-08
  • C/C++詳解c語言中的 strcpy和strncpy字符串函數(shù)使用

    詳解c語言中的 strcpy和strncpy字符串函數(shù)使用

    strcpy 和strcnpy函數(shù)是字符串復(fù)制函數(shù)。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數(shù)使用,感興趣的朋友跟隨小編要求看看吧...

    spring-go5642021-07-02
  • C/C++C語言實現(xiàn)電腦關(guān)機(jī)程序

    C語言實現(xiàn)電腦關(guān)機(jī)程序

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)電腦關(guān)機(jī)程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    xiaocaidayong8482021-08-20
  • C/C++c++ 單線程實現(xiàn)同時監(jiān)聽多個端口

    c++ 單線程實現(xiàn)同時監(jiān)聽多個端口

    這篇文章主要介紹了c++ 單線程實現(xiàn)同時監(jiān)聽多個端口的方法,幫助大家更好的理解和學(xué)習(xí)使用c++,感興趣的朋友可以了解下...

    源之緣11542021-10-27
  • C/C++C++之重載 重定義與重寫用法詳解

    C++之重載 重定義與重寫用法詳解

    這篇文章主要介紹了C++之重載 重定義與重寫用法詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下...

    青山的青6062022-01-04
  • C/C++C語言中炫酷的文件操作實例詳解

    C語言中炫酷的文件操作實例詳解

    內(nèi)存中的數(shù)據(jù)都是暫時的,當(dāng)程序結(jié)束時,它們都將丟失,為了永久性的保存大量的數(shù)據(jù),C語言提供了對文件的操作,這篇文章主要給大家介紹了關(guān)于C語言中文件...

    針眼_6702022-01-24
  • C/C++深入理解goto語句的替代實現(xiàn)方式分析

    深入理解goto語句的替代實現(xiàn)方式分析

    本篇文章是對goto語句的替代實現(xiàn)方式進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下...

    C語言教程網(wǎng)7342020-12-03
  • C/C++C/C++經(jīng)典實例之模擬計算器示例代碼

    C/C++經(jīng)典實例之模擬計算器示例代碼

    最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關(guān)于C/C++經(jīng)典實例之模擬計算器的相關(guān)資料,文中通過示...

    jia150610152021-06-07
主站蜘蛛池模板: 我被黑人彻底征服的全文 | 国产精品天天看天天爽 | 欧美精品黑人巨大在线播放 | 爽好紧别夹宝贝叫大声点护士 | 美女1819xxxx | 国产欧美国产精品第一区 | 99r在线观看 | 日韩精品一区二区三区中文字幕 | 办公室里被迫高h | 精品国产免费观看一区高清 | 天天碰夜夜操 | 婷婷综合久久中文字幕 | 久久中文字幕综合不卡一二区 | 性吧有你 | 亚欧国产 | 无码AV免费精品一区二区三区 | 亚洲国产成人久久综合一区77 | 天天射久久 | 亚洲国产精品一区二区三区久久 | 茄子香蕉视频 | 欧美另类老女人 | 日韩高清成人毛片不卡 | 亚洲狠狠综合久久 | 欧美视频一区二区三区在线观看 | 1986葫芦兄弟全集免费观看第十集 | 国产午夜精品一区二区三区 | 欧美视频一区二区三区在线观看 | 人妖欧美一区二区三区四区 | 美女口述又粗又大感觉 | 久久成人伊人欧洲精品AV | 亚洲第一在线 | 双性np玩烂了np欲之国的太子 | 午夜亚洲WWW湿好大 午夜想想爱 | 俺去俺来也www色官网免费的 | 99视频在线国产 | 亚洲精美视频 | xxxx意大利xxxxhd| 波多野结衣一区免费作品 | 夫妇交换小说 | 99在线免费观看 | 五月一区二区久久综合天堂 |