我遇到了一些簡單的函數,試圖將整數轉換爲字符串的麻煩。下面是代碼: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