C++ 在Visual Studio中满足断点条件时,为什么不满足断点条件?
我面前有一段代码,它遍历了一长串URL,当这些URL包含某种类型的文档时,出现了一些问题。我不想看到每个迭代,所以我设置了一个条件断点 问题是我不是C++程序员,所以我有点想去做我想做的事情,我可能做了一些明显的错误。 因此,我目前的情况是:C++ 在Visual Studio中满足断点条件时,为什么不满足断点条件?,c++,visual-studio-2005,breakpoints,conditional-breakpoint,C++,Visual Studio 2005,Breakpoints,Conditional Breakpoint,我面前有一段代码,它遍历了一长串URL,当这些URL包含某种类型的文档时,出现了一些问题。我不想看到每个迭代,所以我设置了一个条件断点 问题是我不是C++程序员,所以我有点想去做我想做的事情,我可能做了一些明显的错误。 因此,我目前的情况是: (strstr( url, "xlsx") == 0x00000000) 这意味着每当url(UNICODE_char*)不包含文本“xlsx”strstr时,就会返回一个空指针,据我所知,该指针应该与条件匹配。实际上,从长远来看,我希望它是另一种方式,
(strstr( url, "xlsx") == 0x00000000)
这意味着每当url(UNICODE_char*)不包含文本“xlsx”strstr时,就会返回一个空指针,据我所知,该指针应该与条件匹配。实际上,从长远来看,我希望它是另一种方式,但因为只有几个“xlsx”URL,我想检查它是否工作,我现在就这样做
嗯,我的条件没有得到满足,或者至少断点没有被触发
假设我做错了什么,我复制了与watch表达式相同的值,并在前面的行上设置了一个无条件断点。当我跨过我的传统断点时,结果如下所示:
Name | Value
================================================
(strstr( url, "xlsx") == 0x00000000) | true
很显然,就监视窗口而言,我的条件可能是真的,但不会触发条件断点
为了进一步试验,我试着把条件翻转过来,这样就可以了
(strstr( url, "xlsx") != 0x00000000)
就条件断点而言,这也是错误的,这似乎有点可笑,因为这意味着它既不等于null指针值,也不等于null指针值
这是C++中空值的一些特殊性质吗?是不是有什么明显的地方我遗漏了,或者是语言上的一些怪癖让我完全错过了这条船?
如果你的url是unicode字符串,你试过使用wcsstr吗?如果你的url是unicode字符串,你试过使用wcsstr吗?没有,我一点也不说——我说的不是C++程序员,虽然我有很多语言可以处理,但我可以通过代码,我不知道图书馆。现在我来试试,结果似乎是一样的。我没有,我说的不是C++程序员,所以我有很多语言可以处理,我可以通过代码,我不知道图书馆。不过,现在我来尝试一下,结果似乎是一样的。