VCのCString、wchar_t,int,string,char*間の転換---学習まとめ

34418 ワード

http://blog.myspace.cn/e/406900655.htm

VC CString,wchar_t,int,string,char* ---

1. CString wchar_t

CString path = "asdf";

wchar_t wstr[256] = path.AllocSysString();

wchar_t wcstring[256];

MultiByteToWideChar(CP_ACP,0,path,-1,wcstring,256);

2. wchar_t CString

WideCharToMultiByte(CP_ACP,0,wcstring,256,path.GetBuffer(0),256,NULL,NULL);

path.ReleaseBuffer(0);

3. string CString

CString.format("%s", string.c_str());

4. char CString

CString.format("%s", char*);

5. char string

string s(char *);

6. string char *

char *p = string.c_str();

7.CString string

string s(CString.GetBuffer());

CString   str   =   "fdjfdas";   
string   s   =   (LPCTSTR)str;

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(), .

《C++ 》
C—string
1.data(), ”\0“
2,c_str(), ”\0“
3,copy()

---------------------------------------------------------------

CString int、char*、char[100] - -


CString int、char*、char[100] - -

CString int

, atoi、_atoi64 atol。
CString , CString Format 。
CString s;
int i = 64;
s.Format("%d", i)
Format , 。

void CStrDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CString ss="1212.12";
int temp=atoi((char*)LPCTSTR(ss));

CString aa;
aa.Format("%d",temp);
AfxMessageBox("var is " + aa);
}

sart.Format("%s",buf);

CString char*

///char * TO cstring
CString strtest;
char * charpoint;
charpoint="give string a value";
strtest=charpoint;


///CString TO char *
charpoint=strtest.GetBuffer(strtest.GetLength());

C string,char *==char []==string

 

char * CString

CString.Format("%s",char *) char * CString。

CString char *

(LPCSTR)strtest (char*)(LPCSTR)strtest 。


CString char[100]

char a[100];
CString str("aaaaaa");
strncpy(a,(LPCTSTR)str,sizeof(a));

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1570001

( )

string CString ,string (STL) , C++ ;

CString(typedef CStringT > CString) Visual C++ , CSimpleStringT , MFC ATL , char( ANSI),wchar_t(unicode),TCHAR(ANSI unicode );

char* C , '\0' ;

( )

string , , CString char*;

CString , , char* ;

char* , ;

char* psz = “joise”;

CString cstr( psz );

string str( cstr );

( )

a) operator=

string , , CString char*;

CString , , char* ;

char* , , strcpy memcpy, char* NULL, , ;

char *psz = NULL;

psz = new char[10]; // , char *psz = new char[10];

memset( psz, 0, 10 );

strcpy( psz, “joise” );

CString cstr;

cstr = psz;

string str;

str = psz;

str = cstr;

delete []psz;

b) operator+

string CString , char* , + , string str = str + cstr , char*;

char* + , strcat ;

char* psz = “joise”;

CString cstr = psz;

cstr = cstr + psz;

string str = psz;

str = str + str + psz;

strcat( psz, psz );

strcat( psz, cstr );//

strcat( psz, str );// , ,CString const char*, string

c) operator +=

string , +=, CString char*;

CString , += , char* ;

char* += , strcat ;

d) operator[]

CString , ;

string char* ;

char* psz = “joise”;

CString cstr = psz;

cout << cstr[8];

string str = psz;

cout << str[8];

cout << psz[8];

e) operator== 、operator!=、operator> 、operator< 、operator>= 、perator<=

CString string , char* , , ;

cout << ( psz == cstr );

cout << ( psz == str );

cout << ( str == psz );

cout << ( cstr == psz );// 1

( )

a)

char* string CString
strchr
strstr
strrstr
strspn find Find
fild_first_of FindOneOf ReserveFind find_if 
:find_if true

b)

char* string CString ( ) strcmp
strncmp
strcoll
_strncoll operator<
operator>
operator<=
operator>=
operator==
operator!= Collate

Compare ( ) _stricmp
_strnicmp
_stricoll
_strnicoll CollateNoCase

CompareNoCas 
: <0 ,

c)

char* string CString _strset
_strnset
replace
replace_copy
replace_copy_if
replace_if Replace 
d)

char* string CString insert Insert 

e) char* string CString strcat push

append Append

AppendChar

AppendFormat

f)

char* string CString substr Left

Mid

Right

Truncate

g)

char* string CString remove Remove RemoveBlanks

: ATL , C remove_if Trim

TrimLeft

TrimRig

h)

char* string CString _strlwr

_strupr MakeLower

MakeUpper

i)

char* string CString atoi

atod

atof Format char* c_str
GetBuffer

GetBufferSetLen 
j)

char* string CString sprintf Format


k)

char* string CString
strlen length GetLength size GetAllocLength 
l)

char* string CString ==NULL '\0' empty IsEmpty 
m)

char* string CString realloc
new resize GetBufferSetLength 
n)

char* string CString free

delete (delete[]) ReleaseBuffer

ReleaseBufferSetLength

( ) >

CString > string > char*;

( )

CString > string >char*;

( )

char* = string > CString

 

*****************

CHAR CString !

http://hi.baidu.com/gzliaoguozhong/blog/item/128c04df2981c75e94ee379c.html