文字列の前後のホワイトスペースを取り除く関数
いわゆる TRIM 関数です。
//------------------------------------------------------------------------ // trim (文字列からホワイトスペースを取り除く) //------------------------------------------------------------------------ // 戻り値 : 先頭ポインタ //------------------------------------------------------------------------ char *trim( char *lpszString ) // (in) 処理対象の文字列 { char *ps; // 空白文字を除いた先頭 char *pe; // 空白文字を除いた最後尾 char *p; // ワークポインタ // 先頭を見つける for ( ps = lpszString; *ps; ps++ ) { if ( ( 0x81 == *ps ) && ( 0x40 == *( ps + 1 ) ) ) { // 全角スペース ps++; } else if ( 0x20 < *ps ) { // ホワイトスペース以外→先頭 break; } } // 最後を見つける for ( p = pe = ps; *p; p++ ) { if ( ( 0x81 == *p ) && ( 0x40 == *( p + 1 ) ) ) { // 全角スペース p++; } else if ( 0x20 < *p ) { // ホワイトスペース以外→最後尾? pe = p; } } // コピー for ( p = lpszString; ps <= pe; ) { *p++ = *ps++; } *p = '\0'; return lpszString; }
トラックバック
- このエントリーにトラックバック:
- http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/712
コメント