プログラミングのメモ帳(C/C++/HSP)

日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP)

文字列バッファに指定文字を書き込む - funcFillString()

2010年02月13日 20時30分00秒 | 便利ライブラリ関数

文字列バッファを指定文字で埋めるための関数です。
FillMemory()関数の真似で文字列(LPTSTR)バージョンを用意してみました。(戻る)

プロトタイプ宣言

LPTSTR funcFillString(
    LPTSTR  lpBuff,     // 文字列へのポインタ
    DWORD   dwSize,     // TCHAR型の文字数
    TCHAR   tcMoji      // TCHAR型の1文字
);

サンプル

// 文字列バッファに指定文字を書き込む
extern LPTSTR funcFillString( LPTSTR lpBuff, DWORD dwSize, TCHAR tcMoji )
{
    LPTSTR lpTail = lpBuff;
    
    if ( dwSize ){
        for ( dwSize-- ; dwSize ; dwSize-- ){
            *lpTail++ = tcMoji;
        }
        *lpTail = TEXT('\0');
    }
    return lpBuff;
}

// 使用例
int main( void )
{
    TCHAR szBuff[ 5 ];
    
    funcFillString( szBuff, 5, TEXT('A') );
    puts( szBuff );
    return 0;
}
  • lpBuff に文字列のバッファを指定します。
  • dwSize に文字列のバッファ容量を指定します。
  • tcMoji に書き込む1文字を指定します。
  • FillMemory()関数とは違い最後に NULL 文字(\0)を書き込みます。

実行結果

AAAA
  • 最後に NULL 文字(\0)を書き込むので「A」文字は4文字となります。

その他

  • funcFillString 関数は「マルチバイト文字セット」、「Unicode文字セット」の両方に対応しています。

関連記事



コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 文字列バッファに NULL 文字... | トップ | 文字列バッファに指定サイズ... »
最新の画像もっと見る

コメントを投稿

便利ライブラリ関数」カテゴリの最新記事