各種資料型別之間的轉換

2021-07-03 17:02:32 字數 2390 閱讀 8803

1. 

c++中string到int的轉換

1) 在c標準庫裡面,使用atoi:

#include

#include

std::string text = "152";

int number = std::atoi( text.c_str() );

if (errno == erange) //可能是std::errno

else if (errno == ????)

//可能是einval

2) 在c++標準庫裡面,使用stringstream:(stringstream 可以用於各種資料型別之間的轉換)

#include

#include

std::string text = "152";

int number;

std::stringstream ss;

ss << text;//可以是其他資料型別

ss >> number; //string -> int

if (! ss.good())

ss << number;// int->string

string str = ss.str();

if (! ss.good())

3) 在boost庫裡面,使用lexical_cast:

#include

#include

trycatch( const boost::bad_lexical_cast & )

2.string 轉 cstring

cstring.format(」%s」, string.c_str());

cstring cs = string.c_str();

用c_str()確實比data()要好;

3.char 轉 cstring

cstring.format(」%s」, char*);

4.char 轉 string

string s(char *);

只能初始化,在不是初始化的地方最好還是用assign().

string s;

s.assign(const char *s);

5.string 轉 char *

char *p = string.c_str();

6.cstring 轉 string

string s(cstring.getbuffer())

;getbuffer()後一定要releasebuffer(),否則就沒有釋放緩衝區所佔的空間.

7.字串的內容轉換為字元陣列和c—string

(1)  

data(),返回沒有」\0「的字串陣列

(2)  

c_str(),返回有」\0「的字串陣列

(3)  

copy()

8.cstring與int、char*、char[100]之間的轉換

(1) cstring互轉int

將字元轉換為整數,可以使用atoi、_atoi64或atol。而將數字轉換為cstring變數,可以使用cstring的format函式。如

cstring s;

int i = 64;

s.format(」%d」, i)

format函式的功能很強,值得你研究一下。

void cstrdlg::onbutton1()

(2) cstring互轉char*

///char * to cstring

cstring strtest;

char * charpoint;

charpoint=」give string a value」; //?

strtest=charpoint;

///cstring to char *

charpoint=strtest.getbuffer(strtest.getlength());

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

OC各種資料型別之間的轉換方法

nsnumber轉nsstring 假設現有一nsnumber的變數a,要轉換成nsstring型別的b 方法如下 nsnumberformatter numberformatter nsnumberformatter alloc init b numberformatter stringfromn...

Qt 各種資料型別轉換

1 qstring string qstring.tostdstring 2 string qstring qstring fromstdstring string 3 qstring int,double,char qstring toint qstring todouble qstring.to...

C 各種資料型別轉換

在在做一些互操作的時候往往需要一些型別的相互轉換,比如用c 訪問win32api的時候往往需要向api中傳入dword引數 即 uint引數這些數值所表示的資料在實際的應用中可能需要以字元的形式顯示,但是c 對api的關係無法跟c 相比,所以在c 中進行一些型別資料的轉換十分必要了,下面將用到的一些...