Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在Visual Studio中满足断点条件时,为什么不满足断点条件?_C++_Visual Studio 2005_Breakpoints_Conditional Breakpoint - Fatal编程技术网

C++ 在Visual Studio中满足断点条件时,为什么不满足断点条件?

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时,就会返回一个空指针,据我所知,该指针应该与条件匹配。实际上,从长远来看,我希望它是另一种方式,

我面前有一段代码,它遍历了一长串URL,当这些URL包含某种类型的文档时,出现了一些问题。我不想看到每个迭代,所以我设置了一个条件断点

问题是我不是C++程序员,所以我有点想去做我想做的事情,我可能做了一些明显的错误。 因此,我目前的情况是:

(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++程序员,所以我有很多语言可以处理,我可以通过代码,我不知道图书馆。不过,现在我来尝试一下,结果似乎是一样的。