| ¡¡
Ïà¹Ø·ÖÀà 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); ÉÏһƪ:¶þ ¿Ø¼þ ÏÂһƪ:ËÄ ³£Óÿؼþ ¡¡ |
|