¡¡

Ïà¹Ø·ÖÀà VCÈëÃÅ ->VC ->VCShare

Èý CString

¹Ø¼ü×Ö CString VC×Ö·û´®


Ö÷ÒªÄÚÈÝ:

1,Ö÷Òªº¯ÊýµÄʵÏÖ

2,³£Óú¯Êý

3.CStringÓëchar []µÄÏ໥ת»»

4,½«NULL×Ö½Ú·ÅÈëCStringÖÐ




vcÖÐ×îÖ÷Òªº¯Êý²»Ò×Àí½â¡£

CString::CString(char *p)

{

int n=strlen(p);

m_data = new char[n+1];

strcpy(m_data,p);

}



CString::CString(CString &other)

{

int n=strlen(other.m_data);

m_data = new char[n+1];

strcpy(m_data,other.m_data);

}



CString& CString::operator = (CString& other)

{

delete[] m_data;

int n=strlen(other.m_data);

m_data = new char[n+1];

strcpy(m_data,other.m_data);

return *this;

}



String::~String()

{

delete [] m_data;

}



Collate£¬Compare ÓëÒ»¸ö×Ö·û³¤Ö¸ÕëËùÖ¸µÄ×Ö·û´®½øÐбȽϣ¬ÓëstrcmpÏàͬ£¬ËüÃǵÄÇø±ðÊÇ£¬·Ö±ðµ÷ÓÃ_tcscoll£¬_tcsicmp¡£

Delete

int Delete( int nIndex, int nCount = 1 )

·µ»ØÖµÊDZ»É¾³ýǰµÄ×Ö·û´®µÄ³¤¶È£¬nIndexÊǵÚÒ»¸ö±»É¾³ýµÄ×Ö·û£¬nCountÊÇÒ»´Îɾ³ý¼¸¸ö×Ö·û¡£¸ù¾ÝÎÒʵÑéµÃ³öµÄ½á¹û£ºµ±nCount>×Ö·û´®µÄ³¤¶Èʱ»á³ö´í£¬µ±nCount¹ý´ó£¬Ã»ÓÐ×ã¹»µÄ×Ö·ûɾ³ýʱ£¬´Ëº¯Êý²»Ö´ÐС£



FindOneOf

int FindOneOf( LPCTSTR lpszCharSet ) const;

´Ëº¯ÊýµÄ¹¦ÄÜÊÇÔÚ²éÕÒlpszCharSetÖеÄÈÎÒâÒ»¸ö×Ö·û£¬²éµ½Ò»¸ö¾Í°ÑλÖ÷µ»Ø£¬Ã»Óв鵽·µ»Ø0¡£È磺

CString str = "0123456789";

int x = str.FindOneOf("31");

xµÄÖµÊÇ1¡£



Find

int Find( TCHAR ch ) const;

int Find( LPCTSTR lpszSub ) const;

int Find( TCHAR ch, int nStart ) const;

int Find( LPCTSTR pstr, int nStart ) const;

·µ»ØÖµ²éÕÒµ½µÄÐòºÅ£¬ch´ýËÑË÷µÄ×Ö·û£¬lpszSub´ýËÑË÷µÄ×Ö·û×Ó´®£¬nStart ´ÓÄÇÀ↑ʼËÑË÷¡£È磺



CString str = "0123456789";

int x = str.Find("34",4);

·µ»ØµÄÖµÊÇ-1.



GetAt

TCHAR GetAt( int nIndex ) const;

·µ»Ø±êºÅΪnIndexµÄ×Ö·û£¬Äã¿ÉÒÔ°Ñ×Ö·û´®Àí½âΪһ¸öÊý×飬GetAtÀàËÆÓÚ[].×¢ÒânIndexµÄ·¶Î§£¬Èç¹û²»ºÏÊÊ»áÓе÷ÊÔ´íÎó¡£



Insert

int Insert( int nIndex, TCHAR ch )
int Insert( int nIndex, LPCTSTR pstr )
·µ»ØÐ޸ĺóµÄ³¤¶È£¬nIndex×Ö·û£¨»ò×Ö·û´®£©²åÈëºóµÄ±êºÅ¡£

Left

CString Left( int nCount ) const;

·µ»ØµÄ×Ö·û´®µÄǰnCount¸ö×Ö·û¡£

RightÓëLeftÀàËÆ



MakeLower £¬MakeUpper¸Ä±ä×Ö·ûµÄ´óСд

MakeReverse×Ö·ûµ¹Öã¬È磺

CString str = "X0123456789";

str.MakeReverse();

str±äΪ"9876543210X"



+=

const CString& operator +=( const CString& string );
const CString& operator +=( TCHAR ch );
const CString& operator +=( LPCTSTR lpsz );

½«²ÎÊýºÏ²¢µ½×Ô¼ºÉíÉÏ¡£

È磺 CString str = "0123456789";

str+="ha";

strΪ"0123456789ha"£»



str[]

TCHAR operator []( int nIndex ) const;

Ïó´¦Àí×Ö·ûÊý×éÒ»Ñù´¦Àí×Ö·û´®¡£

×¢ÒâÊÇÖ»¶ÁµÄ¡£

CString str = "0123456789";

str[0]='x';

ÊÇ´íÎóµÄ¡£





TrimLeft,TrimRight

void TrimLeft( );

void CString::TrimLeft( TCHAR chTarget );

void CString::TrimLeft( LPCTSTR lpszTargets );

void TrimRight( );

void CString::TrimRight( TCHAR chTarget );

void CString::TrimRight( LPCTSTR lpszTargets );



CString str = "\n\t a";

str.TrimLeft();

strΪ¡°a¡±;

Èç¹ûûÓвÎÊý,´Ó×óɾ³ý×Ö·û(\n\t¿Õ¸ñµÈ),ÖÁµ½Óöµ½Ò»¸ö·Ç´ËÀà×Ö·û.

µ±È»ÄãÒ²¿ÉÒÔÖ¸¶¨É¾³ýÄÇЩ×Ö·û.

Èç¹ûÖ¸¶¨µÄ²ÎÊýÊÇ×Ö·û´®,ÄÇôÓöÉÏÆäÖеÄÒ»¸ö×Ö·û¾Íɾ³ý.

CString str = "abbcadbabcadb ";

str.TrimLeft("ab");

½á¹û"cadbabcadb "



int CString::Remove( TCHAR ch );

chɾ³ýµÄ×Ö·û.

·µ»ØÉ¾³ý×Ö·ûµÄ¸öÊý,Óжà¸öʱ¶¼»áɾ³ý.



CString Óëchar []Ö®¼äµÄת»».

char str[100] = ¡±str¡±;

CString sstr = ¡°sstr¡±;

str.Format(¡°%s¡±,str);

str = LPCTSTR sstr;

strcpy(str,(LPCTSTR)sstr);

Èç¹ûÊǸ³Öµ,ÔòÒª:

CString s(_T("This is a test "));
LPTSTR p = s.GetBuffer();
// ÔÚÕâÀïÌí¼ÓʹÓÃpµÄ´úÂë
if(p != NULL) *p = _T('\0');
s.ReleaseBuffer();
// ʹÓÃÍêºó¼°Ê±ÊÍ·Å£¬ÒÔ±ãÄÜʹÓÃÆäËüµÄCString³ÉÔ±º¯Êý


strµÄÖµ±äÁË.



½«NULL×Ö½Ú·ÅÈëCStringÖÐ
1,CString str("abc\0""def", 7);
str +="g";
int nLength = str.GetLength();
nLengthΪ8.
2,CString str("My name is hedan!");
str.SetAt(5, 0);
int nLength = str.GetLength();
×¢Òâ:²»ÊÇËùÓеÄCString³ÉÔ±º¯Êý¶¼¿ÉÒÔ£¬ÔÚʹÓÃʱһ¶¨ÒªÐ¡ÐÄ¡£

ʵÀý:¶¯Ì¬ÅäÖÃÊý¾ÝÔ´
CString strDsn,strDBQ;
strDsn = "DSN=test";
strDBQ.Format("DBQ=%s",strSourceMDBName);
CString strConnect = strDsn + " " + strDBQ ;
strConnect.SetAt(strDsn.GetLength(),'\0');
SQLConfigDataSource(NULL, ODBC_ADD_SYS_DSN, "Microsoft Access Driver (*.mdb)", strConnect);



ÉÏһƪ:¶þ ¿Ø¼þ
ÏÂһƪ:ËÄ ³£Óÿؼþ

¡¡

ƒ