文字列バッファを指定文字で埋めるための関数です。
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文字セット」の両方に対応しています。
関連記事
- 文字列バッファに NULL 文字を書き込む - funcZeroString()
- 文字列バッファに指定文字を書き込む - funcFillString()
- 文字列バッファに指定サイズだけ書き込む - funcCopyString()
- 文字列バッファの複製文字列を作成 - funcDupString()
- 文字列バッファを行単位で取得 - funcLineString()
- 文字列バッファの改行コードを削除 - funcCRLFString()
- 文字列バッファの基本関数(まとめ)
※コメント投稿者のブログIDはブログ作成者のみに通知されます