StrNCatA 関数 (shlwapi.h)

指定した数の文字を 1 つの文字列の先頭から別の文字列の末尾に追加します。

メモ この関数または StrCatN マクロは使用しないでください。 代替関数については、「解説」を参照してください。
 

構文

PSTR StrNCatA(
  [in, out] PSTR  psz1,
            PCSTR psz2,
            int   cchMax
);

パラメーター

[in, out] psz1

種類: PTSTR

関数が psz2 から文字を追加する null で終わる文字列へのポインター。 結合された文字列と終端の null 文字を保持するのに十分な大きさである必要があります。

psz2

種類: PCTSTR

追加する null で終わる文字列へのポインター。

cchMax

型: int

psz2 の先頭から psz1 に追加する文字数。

戻り値

種類: PTSTR

結合された文字列を保持する psz1 へのポインターを返します。

解説

セキュリティの警告: この関数を誤って使用すると、アプリケーションのセキュリティが損なわれる可能性があります。 最初の引数 psz1 は、 psz2 と終了 '\0' を保持するのに十分な大きさにする必要があります。そうしないと、バッファー オーバーランが発生する可能性があります。 バッファー オーバーランは、アクセス違反が発生した場合に、アプリケーションに対するサービス拒否攻撃につながる可能性があります。 最悪の場合、バッファー オーバーランにより、特に psz1 がスタック ベースのバッファーである場合に、攻撃者が実行可能コードをプロセスに挿入する可能性があります。 最後の引数 cchMaxpsz1 にコピーする文字数であり、 psz1 のサイズ (バイト単位) とは限らないことに注意してください。 次のいずれかの代替手段を使用することを検討してください。 StringCbCatStringCbCatExStringCbCatNStringCbCatNExStringCchCatStringCchCatExStringCchCatN、または StringCchCatNEx。 続行する前に 、「セキュリティに関する考慮事項: Microsoft Windows Shell 」を確認する必要があります。

注意

shlwapi.h ヘッダーは、STRNCat をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shlwapi.h
Library Shlwapi.lib
[DLL] Shlwapi.dll (バージョン 4.71 以降)