2010-03-12 59 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