获得CString的结束位置

时间:2012-07-02 10:50:45

标签: c++ substring cstring

如何找到CString结尾的位置?我正在尝试

int end = str.Find(L'\n');

但它返回-1。我特别希望从CString中的某个位置获取CString的子字符串,直到它结束。问题是我无法得到结束的位置。有什么建议吗?

3 个答案:

答案 0 :(得分:2)

使用CString::Mid(beginPos)CString sub = str.Mid(begin)。它将返回从beginPos开始的子字符串,并一直延伸到字符串的末尾。如果您确实需要字符串的长度,请使用GetLength。搜索'\n'是没有意义的,因为它可能不在字符串中,如果是,则可能不在该字符串的末尾。

答案 1 :(得分:0)

查找字符L'\n'会搜索换行符,而不是字符串的“结束”。 CString不支持size()或length()方法,您可以使用它来获取可用于计算所需子字符串长度的总长度吗?

答案 2 :(得分:0)

首先,字符串零终止,所以至少你应该找到'\ 0'而不是'\ n'。

实际上,你可以检查字符串的大小并将其减少1,这就是最后一个字符的索引位置。