ObjextARX VS2005 字串轉換

2022-02-16 09:13:46 字數 2985 閱讀 5070

1.使用string必須新增標頭檔案

#include"string"

using namespace std;

2.使用cstring必須新增標頭檔案(在非mfc工程中)

3.wchar_t

wchar_t是c++的字元資料型別,char是8位字元型別,最多只能包含256種

字元,許多外文字符集所含的字元數目超過256個,字元型無法表示

wchar_t資料型別為16位,所能表示的字元數遠超char型。

4.achar型別(此型別是autodesk公司在adachar.h 標頭檔案中定義的-

typedef wchar_t achar;)

#include "adachar.h"

5.uses_conversion在atlconv.h標頭檔案中定義

#include "atlconv.h "

6.string->achar*

string str="string";

achar* ach;

uses_conversion;

ach=(achar*)a2ct(str.c_str());

std::string str="something"

;tchar *param=new

tchar[str.size()+1];

param[str.size()]=0;

//as much as we'd love to, we can't use memcpy() because

//sizeof(tchar)==sizeof(char) may not be true:

std::copy(str.begin(),str.end(),param);

7.achar*->string

achar* ach;

uses_conversion;

string temp=w2a(ach);

8.(wchar_t)achar*->char*

char * ch;

achar* ach;

uses_conversion;

ch=t2a(ach);

9.char*->achar*

achar* ach1;

char * ch;

方法一:

uses_conversion;

ach1=a2w(ch);

方法二:

size_t convertedchars=0;//記錄返回實際轉換字串的長度

mbstowcs_s(&convertedchars,ach1,10,ch,_truncate);//10為ch的最大長

度,隨著需要而改變

10.int->string

string str;

int nnumber=10001;

char ct[10];//把int轉化為string

_itoa_s(nnumber,ct,10);

str=ct;或string str(ct);

11.string->int

12.cstring->char*

方法一:

char* ch;

cstring temp;

ch=t2a(temp.getbuffer(0));

方法二:

使用強制轉換

cstring thestring( "this is a test" );

lptstr lpsz =(lptstr)(lpctstr)thestring;

13.char*->cstring

方法一:

可以直接賦值

cstring cstr;

char* ch;

cstr=ch;

方法二:

通過使用format函式

char charray = "this is a test";

cstring cstr;

mbcs下(即沒定義unicode時):

cstr.format(_t("%s"), charray);

定義unicode時:

uses_conversion;

cstr.format(_t("%s"), a2w(charray));

14.char*->int

char* ch;

int n=atoi(ch);

15.int->char*

int n=45;

char nch[10];

char* ch;

itoa(n,nch,16);//16為進製,可以取2,8,10,16等

也可以採用如下形式:ch=itoa(n,nch,16);

vs2005環境用:_itoa_s(n,nch,2);

16.cstring->string

string str;

cstring temp;

uses_conversion;

str=t2a(temp.getbuffer(0));

17.string->cstring

cstring cstr;

string str;

cstr=str.c_str();

18.char*->string

直接構造法:

char ct1[20];

string ste(ct1);//重新構造乙個字串

19.string->char*

string ste;

ch=(char*)ste.c_str();通過char*轉換去掉const屬性,注意ch只能為

char*,不能為char

20.float(double)->string

char ct1[20];

_gcvt_s(ct1,20,110.58485678,6);//6為精確度

string ste(ct1);

21.string->double

string num="15.12054";

double d=atof(num.c_str());

ObjextARX VS2005 字串轉換

1.使用string必須新增標頭檔案 include string using namespace std 2.使用cstring必須新增標頭檔案 在非mfc工程中 share dll 3.wchar t wchar t是c 的字元資料型別,char是8位字元型別,最多只能包含256種 字元,許多外...

開發日誌 2005

開發日誌 19 05 2005 12 26 想著,位址列還是用 吧 18 32 2005 12 25 getmessage hook似乎可以攔截所有訊息,包括鍵盤與滑鼠,所以鍵盤滑鼠鉤子都不需要了,棄之 21 22 2005 12 24 getmessage似乎很霸道,或者與vb的鍵盤事件 快捷鍵 ...

vs2005 sql2005的新一天

今天又重新安裝系統了,這幾天老在重新安裝系統 今天把系統從xp english version sp1生機到中文版的2003enterprise verison 最先前的時候,就是這個,原因是由於我覺得智慧型abc不能記詞了,覺得很不爽,於是就刪除了,因為又過在英文系統下,只安裝乙個中文輸入法智慧型...