久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

小白VC++字符串截取總結(jié)

 quasiceo 2015-06-01

小白VC++字符串截取總結(jié)

(2010-01-08 15:16:08)
標(biāo)簽:

雜談

分類: VC

VC字符串截取首先看是char還是CString


CString比較好弄,,有現(xiàn)成的方法

 


CString::Find

int Find( TCHAR ch ) const;

int Find( LPCTSTR lpszSub ) const;

int Find( TCHAR ch, int nStart ) const;

int Find( LPCTSTR lpszSub, int nStart ) const;

返回值  不匹配的話返回 -1;  索引以0 開始

nStar 代表以索引值nStart 的字符開始搜索 ,

即為包含以索引nStart字符后的字符串

例子

Cpp代碼
CString s( "abcdef" );   
  
ASSERT( s.Find( 'c' ) == 2 );   
  
ASSERT( s.Find( "de" ) == 3 );   
  
Cstring str(“The stars are aligned”);   
  
Ing n = str.Find('e',5);   
  
ASSERT(n == 12)  
CString s( "abcdef" ); ASSERT( s.Find( 'c' ) == 2 ); ASSERT( s.Find( "de" ) == 3 ); Cstring str(“The stars are aligned”); Ing n = str.Find('e',5); ASSERT(n == 12)

 

CString::Left

CString Left( int nCount ) const;
throw( CMemoryException );

返回的字符串是前nCount個(gè)字符。

例子

Cpp代碼
CString s( _T("abcdef") );   
  
ASSERT( s.Left(2) == _T("ab") );  
CString s( _T("abcdef") ); ASSERT( s.Left(2) == _T("ab") );

 


CString::Mid
CString Mid( int nFirst ) const;
CString Mid( int nFirst, int nCount ) const;
nCount代表要提取的字符數(shù), nFirst代表要提取的開始索引位置

例子

Cpp代碼
CString s( _T("abcdef") );   
ASSERT( s.Mid( 2, 3 ) == _T("cde") ); 

 

CString::Right

CString Right( int nCount ) const;

throw( CMemoryException );

返回的字符串是最后nCount個(gè)字符,。

Cpp代碼
CString s( _T("abcdef") );   
  
ASSERT( s.Right(2) == _T("ef") );

 

 

 


如果是char*字符串,,會(huì)有些麻煩


首先是C的例子

**   substring.C -- 截取字符串 */
#include "stdio.h"
#include "conio.h"

char *left(char *dst,char *src,int n,int m)
{
char *p=src;
char *q=dst;
int len=strlen(src);
if(n>len) n=len;
while(n--) *(q++)=*(p++);
*(q++)='\0';
return dst;
}

char *right(char *dst,char *src,int n,int m)
{
char *p=src;
char *q=dst;
int len=strlen(src);
if(n>len) n=len;
p+=(len-n);
while(*(q++)=*(p++));
return dst;
}

char *mid(char *dst,char *src,int n,int m)
{
char *p=src;
char *q=dst;
int len=strlen(src);
if(n>len) n=len-m;
if(m>0) return NULL;
   p += m;
     while(n--) *(q++) = *(p++);
     *(q++)='\0';
     return dst;
}
char *substring(char *dst,char *src,int len,int start)
{
   char *p=dst;
   char *q=src;
   int length=strlen(src);
   if(start>=length||start<0) return NULL;
   if(len>length) len=length-start;
   q+=start;
   while(len--)
   {
     *(p++)=*(q++);
   }
   *(p++)='\0';
   return dst;
}
main()
{
     char *src="411524198510088017";
     char *year,*month,*day;
     int i;
    
     substring(year,src,4,6);
     for(i=0;i<strlen(year);i++)
     {
     printf("%c",*(year+i));
     }
     getch();
}

 


充分理解了C的方法,我們再看C++用函數(shù)的方法

void main()
{
char*s ="abcdefg" ;
char s1[3]={'\0'};
 

strncpy(s1,s+strlen(s)-2,2);
cout<<s1<<endl;
}


就不難理解了,。

 


或者我想可以轉(zhuǎn)CString然后截取 曲線救國,。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多