sir,i wrote s.erase(s.begin()+s.length()-1) to erase last character of string s,it worked fine but it is not working by s.erase(s.end()).why it is so?
Erase() function in c++
vector.begin() given you pointer points to starting element whereas vector.end() return pointer next to last element. So s.erase(s.end()-1); will work fine for your case