Qt Creator不会将char*
或wchar_t*
个变量显示为字符串,而std::string
和std::wstring
会正确显示。
例如,此代码:
const char *a = "abcd";
const wchar_t *b = L"abcd";
std::string c = "abcd";
std::wstring d = L"abcd";
debuger的Watch Window显示了这一点:
如您所见,c
和d
显示为文字,但a
和b
被视为常规指针。
是否有可以使其显示char*
和wchar_t*
的设置与显示std::string
和std::wstring
的方式相同?
答案 0 :(得分:3)
您必须记住,char*
是指向char
的指针。根据定义,它不是字符串;它只是指向char
的指针。所以调试器不能真正假设它是一个字符串,除非你明确告诉它。为此,在监视窗口中右键单击它,选择“更改本地显示格式”,然后您可以更改调试器应该只解释这一个变量或所有char*
指针的方式。