调试时遇到跳转至_debugger_hook_dummy = 0;
一、我遇到的原因在于读TXT文件时,代码为:
void GLOperator::getPolyAdj(const char* inputfile)
{
ifstream infile (inputfile);
if(!infile){
cout << "Unable to open input file";
exit(1);
}
const char* delim = ":,";
while ( (infile.good()) && (! infile.eof()) ){
char buffer[500];
infile.getline (buffer,500);
char* token = strtok(buffer, delim);
int startID = atoi(token);
token=strtok(NULL, delim);
int t_endID = atoi(token);
token=strtok(NULL, delim);
}
此段代码,若遇到txt中存在空行,则出现空指针,报错如上,故在getline(...)处增加判断,如下:
char buffer[500];
infile.getline (buffer,500);
//必须有这个判断来防止读到空行下面的token出错
if(strcmp(buffer,"")==0){
continue;
}
char* token = strtok(buffer, delim);
int startID = atoi(token);
使用的函数不够安全;
相对路径,对应用程序的调用环境不同这个目录是不同的;点击打开来源
文件打开失败(e.g.上一条),越界使用指针;点击打开来源