1

我有一塊在我的面前,通過URL和東西一長串迭代是哪裏錯了代碼時,這些網址包括特定類型的文件。我不想看到每一次迭代,所以我設置了一個條件斷點。爲什麼我的斷點條件不被時在Visual Studio中得到滿足我的斷點條件滿足?

麻煩的是,我不是一個C++程序員,所以我稍微有魚身邊工作,如何做我想要什麼,我可能會做一些顯然是錯誤的。因此

我目前的狀況是:

(strstr(url, "xlsx") == 0x00000000) 

這應該意味着每一次的網址(這是一個Unicode字符*)不包含文字「XLSX」會的strstr返回一個空指針應該匹配條件,據我瞭解。其實我是想用另一種方式圓在長期內,但只有一對夫婦的「XLSX」的網址,我要檢查它正在我這樣說了現在。

嗯,我的條件沒有被滿足,或者至少斷點不被觸發。

假設我是做錯了什麼我複製相同的值作爲一個表表達式和之前設置就行了無條件斷點。結果是這樣的,因爲我過去一步我coinditional斷點:

Name         | Value 
================================================ 
(strstr(url, "xlsx") == 0x00000000) | true 

因此很明顯,作爲觀察窗口而言,但不會觸發條件斷點我的病情可真遠。

爲了進一步試驗我嘗試過所以這是翻轉的條件

(strstr(url, "xlsx") != 0x00000000) 

至於條件斷點而言,這也是假的,這似乎有點滑稽,因爲這將意味着它既不等於也不等於空指針值。

這是空值在C++中一些不尋常的財產?有什麼真的很明顯我丟失或導致我完全錯過這一個船上的語言的一些怪癖?

回答

1

如果您的網址是Unicode字符串,你有沒有嘗試過使用wcsstr?

+0

不,我還沒有在所有 - 我說的不是C++程序員,所以雖然我已經在我手上了一個相當不錯的各種語言,我可以按照代碼通過我真的不知道該庫。現在我來試一下,但結果似乎是一樣的。 – glenatron 2009-10-28 16:10:18