在代码中需要实现这样一个功能,需要将[00000001]这个存储在string中的字符串的中括号去掉,首先想到的就是string.erase()这个函数。结果。。。
代码:
1 #include <iostream> 2 #include <string> 3 4 using namespace std; 5 6 void strSize() 7 { 8 string strTest = "[0000-0001]"; 9 strTest.erase(strTest.size() - 1); 10 strTest.erase(0); 11 } 12 13 void strLength() 14 { 15 string strTest = "[0000-0001]"; 16 strTest.erase(strTest.length() - 1); 17 strTest.erase(0); 18 19 cout << strTest << endl; 20 } 21 22 void strIterator() 23 { 24 string strTest = "[0000-0001]"; 25 strTest.erase(strTest.begin()); 26 strTest.erase(strTest.end() - 1); 27 } 28 29 int main(int argc, char *argv) 30 { 31 strIterator(); 32 33 return 0; 34 }
这段代码中一共有三个函数进行测试,却只有一个可用,strIterator
其他两个总是会提示段错误。而且,跟踪调试发现,使用过erase后,strTest的size就变为0了。
待以后自己知识足够了再来解决。
加油吧,少年!
时间: 2024-10-11 10:29:12