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不能記詞了,覺得很不爽,於是就刪除了,因為又過在英文系統下,只安裝乙個中文輸入法智慧型...