2

Qt Creator 不会将变量char*wchar_t*变量显示为字符串,而正确显示std::stringstd::wstring显示。

例如对于此代码:

const char *a = "abcd";
const wchar_t *b = L"abcd";
std::string c = "abcd";
std::wstring d = L"abcd";

调试器的观察窗口显示:

在此处输入图像描述

如您所见,candd显示为文本,但aandb被视为常规指针。

有没有一种设置可以让它显示char*和显示的wchar_t*方式相同?std::stringstd::wstring

4

1 回答 1

3

您必须记住 achar*是指向 a 的指针char。根据定义,它不是字符串;它只是一个指向 a 的指针char。所以调试器不能真的假设它是一个字符串,除非你明确告诉它。为此,在监视窗口中右键单击它,选择“更改本地显示格式”,然后您可以更改调试器应如何解释这个变量或所有char*指针。

于 2013-06-21T13:04:10.917 回答