共用方式為


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