首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++新手空指针有关问题

2012-09-09 
C++新手空指针问题求助[codeC/C++][/code]#include iostream#include vector#include stringusing

C++新手空指针问题求助
[code=C/C++][/code]
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int iFunBellRadioAnalyzeAlarm(string sOrgReportBuff);
vector<string> CutString(string source,string separator);
int main(){
string str = "abc;def;ghi;";
int t = iFunBellRadioAnalyzeAlarm(str);
cout<<"t"<<t<<endl;
}
int iFunBellRadioAnalyzeAlarm(string sOrgReportBuff){
string separator=";";
vector<string> result=CutString(sOrgReportBuff,separator);
string alarmobject = result[1];
cout<<"alarmobject:"<<alarmobject<<endl;
sOrgReportBuff.erase(result[0].length()+1,result[1].length()+1);
cout<<"sOrgReportBuff:"<<sOrgReportBuff<<endl;
return 0;
}

vector<string> CutString(string source,string separator)
{
vector<string> result;
string cut;
int pos=source.find(separator);
while(pos!=-1)
{
cut=source.substr(0,pos);
source=source.substr(pos+separator.length());
pos=source.find(separator);
result.push_back(cut);  
}
result.push_back(source); 
return result;
}

大家好,上面这段代码是一个程序中的一部分,我根据那一部分改成上面这个文件。因为程序经常core掉,所以我想请问下大家是不是因为上面这个字符串处理导致的问题,谢谢大家了

[解决办法]
core掉是什么意思啊?
[解决办法]
我看到的有可能出现coredump地方有一个,就是
string alarmobject = result[1];
result如果长度没有大于等于2,这句话会coredump。
[解决办法]
进程意外退出会在当前目录下产生形如‘core.数字’的文件比如‘core.1234’
使用命令
gdb 运行程序名 core.数字
进入gdb然后使用bt命令
可以查看进程意外退出前函数调用的堆栈,内容为从上到下列出对应从里层到外层的函数调用历史。

热点排行