我遇到了一些简单的函数,试图将整数转换为字符串的麻烦。下面是代码:C++ stringstream转换错误
string Problem::indexB(int i, int j, int k){
stringstream ss;
if(i < 10)
ss << "00";
else if(i<100)
ss << "0";
ss << i;
if(j < 10)
ss << "00";
else if(j<100)
ss << "0";
ss << j;
if(k < 10)
ss << "00";
else if(k<100)
ss << "0";
ss << k;
return ss.str();
}
功能工作正常,但是当多次调用它给了我一些点分段错误。
哪一点?你做了什么来调试它? – StoryTeller 2013-02-19 15:49:55
错误不在此代码片段中。尝试使用valgrind来定位堆栈损坏或类似 – 2013-02-19 15:49:57
问题出在返回行。我多次调用函数“.str()”后会导致分段错误。这是gdb的相关问题 '程序接收到的信号SIGSEGV,分段错误。 _int_malloc(av = 0x7ffff74191c0,bytes = 26)at malloc.c:4339 malloc.c:找不到文件或目录。 \t in malloc.c' – user569709 2013-02-19 17:35:41