我有我设置一个简单的文本字符串std::string
这样的C++应用程序:C++ stl字符串<bad ptr>但有字符串值是什么意思?
string foo = "my test string";
,但是当我看到它在调试器中我得到这个:
{_Buf=0x09d55c50 "my test string" _Ptr=0x74736e69 "‹MQhDqrtV‹ר‹VPכ‹URhDqrtP‹ר…uu‹Muƒֱ$טFo" }
或在另一个字符串我得到这个:
{_Buf=0x09d55c70 "some other string" _Ptr=0x7372614c <Bad Ptr> }
中的Visual Studio Express 2008的我的手打字吧,当然我发现它后,其他一些希望这个字符串的lib保持异常。
当我改变它为foo="";
一切工作正常。
的lib API的功能如下:
connect(const std::string& hostName, const std::string& userName, const std::string& password)
(MySQL的C++连接器)
我的问题是,这是什么_Ptr
,更重要的是,为什么我收到异常?
UPDATE
确定它真的很奇怪,但引起我的事情的例外是断弦 只有当我设置15个字符长的字符串它走的好长,但如果我设置更长的字符串异常throwen。即时通讯使用视觉工作室2008年快递32位
请指出问题:是否关于'_Ptr'成员的含义,或者关于您在库中获得的例外情况。在后一种情况下,实际上应该创建一个单独的问题。 – unkulunkulu
当你说“必须导入”时,你的意思是“最重要”吗? –
是的,最抱歉我的错误 – user63898