VC7(VS2002)调试时 std::string 超过15字符乱码问题

简介: VC7(VS2002)调试时 std::string 超过15字符乱码问题

VC7(VS2002)调试时 std::string 超过15字符乱码问题


VC8(VS2005)无此问题。


std::string str = "1234567890123456";        
const char* p    = str.c_str();

调试时:str的值是乱码,p是正确值。


可能是VS2002的bug,根源可能是:

std::string 不超过15字符保存在_Bx.Buf中,否则保证在_Bx.Ptr中。

调试时VC7总是读取的_Bx.Buf。


相关文章
|
2月前
|
存储 C++ 索引
C++ string容器-字符存取讲解
C++ string容器-字符存取讲解
26 0
|
4月前
|
C++
c++:string相关的oj题(把字符串转换成整数、344.反转字符串、387. 字符串中的第一个唯一字符、917. 仅仅反转字母)
c++:string相关的oj题(把字符串转换成整数、344.反转字符串、387. 字符串中的第一个唯一字符、917. 仅仅反转字母)
54 0
|
5天前
|
存储 缓存 Java
|
存储 编译器 Linux
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
|
2月前
|
C++
C++ std::string类的使用
C++ std::string类的使用
22 0
|
2月前
|
存储 算法 C++
string容器一字符事查找和替换
string容器一字符事查找和替换
12 0
|
8月前
|
C语言
C语言string库之常用字符和字符串函数详解
C语言string库之常用字符和字符串函数详解
|
4月前
|
C++ 容器
c++ remove 删除string内所有指定的字符
c++ remove 删除string内所有指定的字符
29 0
|
7月前
|
C++
std::string 不能跨dll的一种解决方法
std::string 不能跨dll的一种解决方法
|
7月前
|
C++
MFC exe使用C++ dll中的std::string 崩溃
MFC exe使用C++ dll中的std::string 崩溃