如何找到CString结尾的位置?我正在尝试
int end = str.Find(L'\n');
但它返回-1。我特别希望从CString中的某个位置获取CString的子字符串,直到它结束。问题是我无法得到结束的位置。有什么建议吗?
答案 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,这就是最后一个字符的索引位置。