【发布时间】:2013-02-19 15:47:52
【问题描述】:
我在尝试将整数转换为字符串的简单函数时遇到了一些问题。代码如下:
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();
}
该函数工作正常,但是当进行多次调用时,它会在某些时候给我一个分段错误。
【问题讨论】:
-
哪一点?你做了什么来调试它?
-
错误不在此代码片段中。尝试使用 valgrind 定位堆栈损坏或类似情况
-
问题出在退货线路上。在我多次调用该函数后,“.str()”将导致分段错误。这是 gdb
Program received signal SIGSEGV, Segmentation fault. _int_malloc (av=0x7ffff74191c0, bytes=26) at malloc.c:4339 4339 malloc.c: File or directory not found. in malloc.c的相关问题
标签: c++ string stringstream