次の方法で共有


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 がスタック ベースのバッファーである場合に、攻撃者が実行可能コードをプロセスに挿入する可能性があります。 最後の引数 cchMaxは、psz1にコピーする文字数であり、必ずしも psz1 のサイズ (バイト単位) ではないことに注意してください。 次のいずれかの方法を使用することを検討してください。 StringCbCatCat, StringCbCatEx, StringCbCatNEx, StringCbCatNEx, StringCchCatEx, StringCchCatN, または StringCchCatNEx. 続行する前 セキュリティに関する考慮事項: Microsoft Windows Shell を確認する必要があります。

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー shlwapi.h
ライブラリ Shlwapi.lib
DLL Shlwapi.dll (バージョン 4.71 以降)