如何找到 CString 结尾的位置?我正在尝试
int end = str.Find(L'\n');
但它返回-1。我特别想从 CString 中的某个位置获取 CString 的子字符串,直到它结束。问题是我无法得到结尾的位置。有什么建议吗?
使用CString::Mid(beginPos)
, 作为CString sub = str.Mid(begin)
。它将返回从开始beginPos
并一直延伸到字符串末尾的子字符串。如果您确实想要字符串的长度,请使用GetLength
. 搜索'\n'
是没有意义的,因为它可能不在字符串中,如果是,它可能不在该字符串的末尾。
查找字符会L'\n'
搜索换行符而不是字符串的“结尾”。CString 不支持 size() 或 length() 方法,您可以使用获取可用于计算所需子字符串长度的总长度吗?
首先,字符串以零结尾,所以至少你应该找到 '\0' 而不是 '\n'。
实际上,您应该检查字符串的大小并将其减 1,这就是最后一个字符的索引位置。