bad ptr怎么解决
bad ptr如何解决
const char *a="abcde";
const char *b=strstr(a,"f");
strstr()为什么返回bad ptr呢,找不到不是会返回NULL吗?求前辈指教。
------解决方案--------------------
单独试一下咯,我这里是NULL。你什么环境?
------解决方案--------------------
肯定代码不只是这么几行吧。我估计有可能是:
1、程序其他地方出现内存覆写,导致数据被意外改动出现错误;
2、调用外界dll之类的,而dll是在不同的环境下编译的;
vs2010下我试过了,简单的strstr()不应该会出现这种错误。
const char *a="abcde";
const char *b=strstr(a,"f");
strstr()为什么返回bad ptr呢,找不到不是会返回NULL吗?求前辈指教。
char *
------解决方案--------------------
#include <iostream>
#include <cstring>
using namespace std;
int main(int argc, char **argv) {
const char *a = "abcde";
const char *b = strstr(a, "f");
if (b == NULL) {
cout << "null" << endl;
}
return 0;
}
单独试一下咯,我这里是NULL。你什么环境?
------解决方案--------------------
肯定代码不只是这么几行吧。我估计有可能是:
1、程序其他地方出现内存覆写,导致数据被意外改动出现错误;
2、调用外界dll之类的,而dll是在不同的环境下编译的;
vs2010下我试过了,简单的strstr()不应该会出现这种错误。