我试图复制LPTSTR并将该字符串作为成员变量存储在对象中。但是,我尝试复制LPTSTR的尝试似乎失败了,当我访问/打印复制的LPTSTR的值时,程序崩溃。
是否可以复制LPTSTR并将其存储在下面的类中?还是仅使用TCHAR *更好?
class Checkbox
{
private:
LPTSTR text;
HWND hwnd;
public:
Checkbox(HWND nHwnd, LPTSTR nText)
{
lstrcpy(checkText, text);
}
void print()
{
// Causes a crash
MessageBox(hwnd, text, text, MB_OK);
}
};
最佳答案
LPTSTR只是一个指针。因此,在使用内存之前,您需要注意分配内存。 TCHAR *也是如此。另外,如果您需要担心unicode字符串,则可以使用wstring。