2

私は得た

std::string str = "hello world";
std::wstring wstr = L"goodbye world";
std::cout << str << std::endl;
std::wcout << wstr << std::endl;

そして、デバッグを開始し、VS 6.0 のデバッガーの「自動」ウィンドウの 3 行目にブレークポイントを設定すると、次のようになりました。

std::cout   {...}
str {0x001f2de1 "hello world"}
wstr    {0x001f2e4a}

wstr値が表示されません...

これができるようにVSを構成するにはどうすればよいですか??

ありがとう

4

2 に答える 2

5

この引用は、VisualStudio 6.0 autoexp.dat からのものです。

------- ユニコード -------

アプリケーションが Unicode 用に構築されている場合、Unicode文字列を unsigned short
の配列ではなく、テキストとして自動的に展開する必要があります。
Unicode 文字列をテキストとして自動的に表示するには、[ツール] → [オプション] → [デバッグ] タブに移動し、[Unicode 文字列を表示する] をオンにします。

したがって、VisualStudio 6.0 では、Tools/Options/Debugに移動し、"Display Unicode strings"をオンにする必要があります。

その後、次のように表示されます。

  • std::cout {...}
  • str {0x00441d21 "こんにちは世界"}
  • wstr {0x00441cb2 "さようなら世界"}
于 2012-02-03T12:08:25.893 に答える
0

ウォッチを追加:

str._Bx._Ptr

文字列が 16 文字未満の場合は監視する必要があります

str._Bx._Buf

于 2012-02-03T11:19:20.530 に答える