2010-03-12 81 views
0

幫助。複製TCHAR問題

TCHAR* b; 
TCHAR* c=TEXT("qwerty"); 

我想分配內存和複製的c內容爲b

+0

我想創建在系統上安裝的所有軟件包的矢量 – Xaver

回答

1

我沒有用C++工作了一段時間,但是從存儲器的最簡單的是這樣的:

b = tcscpy(new TCHAR[tcslen(c) + 1], c); 

第一步分配(額外TCHAR爲NUL定界符1)的緩衝液;第二步將整個字符串複製到新的緩衝區中;最後將結果(緩衝區)分配給b

較新版本的編譯器可能會抱怨不使用長度受限版本的複製例程(tcscpy_s而不是tcscpy)。

+0

thx但存在一個小問題。我大炮找到那個函數定義的標題。 – Xaver

+0

TCHAR宏在'tchar.h'中定義,位於與其他標準頭文件(如stdio.h)相同的文件夾中;使用:'#include ' – devstuff