StrDupA 関数 (shlwapi.h)
文字列を複製します。
構文
PSTR StrDupA(
PCSTR pszSrch
);
パラメーター
pszSrch
型: PCTSTR
null-terminated 文字列
戻り値
型: PTSTR
コピーされた文字列のアドレスを返すか、文字列をコピーできない場合は NULL
備考
StrDup
この関数では、LocalAlloc を使用して、文字列のコピー用の記憶域スペースを割り当てます。 呼び出し元のアプリケーションは、StrDupの呼び出しによって返されるポインターで、LocalFree 関数を呼び出すことによって、このメモリを解放する必要があります。
例
この単純なコンソール アプリケーションは、StrDupの使用を示しています。
#include <windows.h>
#include <shlwapi.h>
#include <stdio.h>
void main(void)
{
char buffer[] = "This is the buffer text";
char *newstring;
// Note: Never use an unbounded %s format specifier in printf.
printf("Original: %25s\n", buffer);
newstring = StrDup(buffer);
if (newstring != NULL)
{
printf("Copy: %25s\n", newstring);
LocalFree(newstring);
}
}
OUTPUT:
- - - - - -
Original: This is the buffer text
Copy: This is the buffer text
手記
shlwapi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして StrDup を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | shlwapi.h |
ライブラリ | Shlwapi.lib |
DLL | Shlwapi.dll (バージョン 4.71 以降) |