Mặc dù tôi đã phải giải quyết vấn đề này bằng cách sử dụng thứ gì đó tương tự như câu trả lời của Brad (cộng với việc sử dụng DebugBreak () để ngắt ngay khỏi mã), đôi khi việc chỉnh sửa / biên dịch lại / chạy lại một chút mã là quá tốn thời gian hoặc đơn giản là không thể .
May mắn thay, rõ ràng là có thể spelunk vào các thành viên thực tế của lớp std :: string. Một cách được đề cập ở đây - và mặc dù anh ấy gọi cụ thể là VS2010, bạn vẫn có thể truy cập các ký tự riêng lẻ theo cách thủ công trong các phiên bản trước đó. Vì vậy, nếu bạn đang sử dụng 2010, bạn chỉ có thể sử dụng các strcmp()
chức năng tốt và tương tự ( thông tin thêm) , nhưng nếu bạn giống tôi và vẫn sử dụng năm 2008 hoặc trước đó, bạn có thể tìm ra một giải pháp thay thế tồi tàn, khủng khiếp nhưng đầy đủ chức năng bằng cách đặt điều kiện cho điểm ngắt như:
strVar._Bx._Ptr[0] == 'a' && strVar._Bx._Ptr[1] == 'b' &&
strVar._Bx._Ptr[2] == 'c'
để ngắt nếu ba ký tự đầu tiên trong strVar là "abc". Tất nhiên, bạn có thể tiếp tục với các ký tự bổ sung. Xấu xí .. nhưng nó đã tiết kiệm cho tôi một chút thời gian vừa rồi.