共用方式為


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 版或更新版本)