在vs中我們可以直接用表達式。數值型比較直接用操作符即可。
如i==2,i<2;
但是字符型比較呢?
加入我們有一個名為string的變量,定義如下:
char *string="Two";
設置斷點:
當我們運行上述代碼時,會發現即使string的內容”Two”時,運行並沒有中斷。這是因為==運算符比較的是兩個字符串的地址而不是內容,因此上述斷點並不能滿足我們的需求。(字符串名就是地址)
Visual Studio考慮到程序員經常會根據字符串的內容添加斷點,因此在添加斷點這個功能上為字符串做了特殊的支持。我們在根據字符串內容添加斷點時,可以使用strcmp等函數來設置斷點。
於是在上述示例中,我們可以用strcmp函數來添加如下斷點:
Visual Studio中的添加斷點功能中支持的字符串函數有:
strlen, wcslen, strnlen, wcsnlen, strcmp, wcscmp, _stricmp,_wcsicmp, strncmp, wcsncmp, _strnicmp, _wcsnicmp, strchr, wcschr, strstr, wcsstr