C言語の文字列のパーティション機能(RPM)

出典:C言語では、文字切り出しに文字列を分割しました

ボイドスプリット(チャー *のSRC、CONST  のchar *セパレータ、チャー ** DEST、INT * NUM)
{ 
    / * 
        ソース列src(BUFアドレス)の最初のアドレス
        区切り文字区切り指定
        アレイDESTは、サブストリングの受信
        num個の分割サブストリングの数
    * / 
     チャー * pNext;
      int型の COUNT = 0 ; 
     
     IF(SRC == NULL || strlenを(SRC)== 0// 着信アドレス長がヌルまたは0である場合、直接終了
        返す; 
        
     IF(セパレータ== NULL || strlenを(セパレータ)== 0// 指定されていない分割文字列は、直接終了
        返す; 
        
     pNext =(char型 *)はstrtok(SRC、セパレータ); //が使用する必要があります(のchar *)は必須の変換(一部のコンパイラを書きませんが、ポインタのエラーは、発生しません)
     しばらく(pNext =!NULL){
           DEST ++ = * pNext;
           ++ COUNT; 
         pNext =(チャー *)はstrtok(NULL、セパレータ);   // なければならない(チャー*)がキャスト
    }  
     * NUM = COUNT; 
}      
/ * 
INTのmain()
{ 
    int型I ; 
    [] bufをchar型= "www.baidu.com、www.taobao.com、www.csdn.com、www.python.org"; 
    //戻りデータを受信するためのアレイ。サブ分割十分に大きい限り、ここで設定した比率列配列番号。 
    [8] * revbufチャー= {0}; //ストア細分文字列の
    
    分割ストリングの数@
    NUM = 0 INT; 
    
    スプリット(BUF、 ""、revbuf、&NUM); //関数が分割されている呼び出し
    
    
    各コンテンツ//返された出力のため
    のために(I = 0;私はNUM <; Iは++){ 
        // lr_output_message ( "%Sの\のN-"、revbuf [I]); 
        のprintf( "%S \ N-"、revbuf [I]); 
    } 


    戻り0; 
} / *

Dev C ++の結果で:

    www.baidu.com 

    www.taobao.com 

    www.csdn.com 

    www.python.org

 

おすすめ

転載: www.cnblogs.com/LittleTiger/p/11328127.html
おすすめ