0

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

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

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

4

3 回答 3

2

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

于 2012-07-02T10:59:16.417 回答
0

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

于 2012-07-02T10:57:07.327 回答
0

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

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

于 2012-07-02T10:58:33.327 回答