因为我们可以在std :: string中使用string.erase函数来删除某些字符范围,所以我可以使用任何函数来删除字符。
例如:
std::string string = "This is a test".
我可以用
string.erase(2,(string.length()));
CString中是否有类似的方法?
感谢。
答案 0 :(得分:5)
有CString::Left()和CString::Right()个功能。代码的替代方法是:
CString result = string.Left(2);
或者,如果您想删除中间的字符,可以使用以下内容:
CString result = string.Left(removeStart) + string.Right(removeEnd);
答案 1 :(得分:0)
当然可以。看看CString Extraction Methods
您的代码段可以通过
实现CString s = "This is a test".
s = s.Left(2);
ASSERT(s == "Th");
要删除一系列字符以保留前m个和前n个字符,您可以执行以下操作:
s = s.Left(m) + s.Right(n);
答案 2 :(得分:0)
CString.Delete
也许?
文档:https://docs.microsoft.com/en-us/cpp/atl-mfc-shared/reference/cstringt-class#delete