StrDupA 函式 (shlwapi.h)
複製字串。
語法
PSTR StrDupA(
PCSTR pszSrch
);
參數
pszSrch
類型: PCTSTR
常數 Null 終止字元字串的指標。
傳回值
類型: 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 標頭會將 StrDup 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版、Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shlwapi.h |
程式庫 | Shlwapi.lib |
Dll | Shlwapi.dll (4.71 版或更新版本) |