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 Professional、Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | shlwapi.h |
連結庫 | Shlwapi.lib |
DLL | Shlwapi.dll (4.71 版或更新版本) |