我正在按照这段代码来裁剪字符串
std::string tcp_read(int listen_at_port=8001){
using namespace std;
using namespace boost::algorithm;
std::vector<char> received_data(512);
tcp_read(received_data, listen_at_port);
string str1(received_data.begin(),received_data.end());
trim_right(str1);
return str1;
}
我按照代码走了一遍,我的received_data通常是等于"add 8002(从这里开始缓冲区填充空格直到第[511]个位置)"
现在当我执行trim_right时,我期望str1的大小变为8,但当它返回时仍然是512,为什么呢?
我该如何实际进行剪裁并更改大小,以便字符串只容纳到最后一个非空格字符?