2.33モデル - 文字列の除去の二つの空間の.c

[注:このプログラムはvs2013バージョンを使用して検証されます]

する#include <stdio.hに> 
する#include <STDLIB.H> 
する#include < 文字列・H>
 の#pragma警告(無効:4996)INT my_strRidSpace(CHAR * DEST、チャー *のSRC、int型 *のN){
     CHAR * BUF = SRC ;
    INT =開始0 ;
    INT端=のSTRLEN(BUF) - 1 int型のlen = 0 ; もし(BUF == NULL || DEST == NULL){ リターン - 1 }
     // 从左边开始ながら、



    
    (BUFは== [開始]   && BUFを[開始]!= 0){     // 現在の文字が空ではなく、終了しない場合に 
        開始++; // 右移動の位置
    }
     しばらく [終了] bufを(== '  ' && BUF [END]!= 0){     // 現在の文字が空ではないが、無端場合 
        end--; // 左移動の位置
    } 
    でlen =終了-開始+ 1。;
     * = N- LEN; 
    strncpyを( DEST、BUF + LEN、開始); // はstrncpy()、指定された長さ(バック0追加されていない)文字列DESTコピー 
    DEST [LEN] = 0 ;
     / *ここで自分の指定された長さコピー文字列関数の実装
    のための(I = 0をint型、IはLEN <; Iは++){ 
        * DEST = *(BUF +始める); 
        DEST ++; 
        BUF ++; 
    } 
    * / 

    戻り 0 ; 
} 


int型メイン(ボイド){ 
/ * 非空白文字列長、ブロックモデルの2つの例を見つける: "asfqwfq" * /
チャー * P = " asdqwfrd " ; CHAR STR [ 50 ] = { 0 }; int型 N- = 0 ; int型 RET = 0 RET = my_strRidSpace(STR、P、およびN-)。 もし(!RET = 0 ){ のprintf(" my_strRidSpace ERR%のD " 、RET)。 リターンRET; } のprintf(" STR =%S \ n " 、STR)。 printf(" N =%d個の\ N " 、N)。
   printf(
" \ nを" ); システム(一時停止)。 リターン 0 ; }

 

おすすめ

転載: www.cnblogs.com/wlstm/p/11105500.html