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

まず、文字列はゼロで終了しているため、少なくとも「\n」ではなく「\0」が見つかるはずです。

実際、文字列のサイズを確認して 1 減らす必要があります。これが最後の文字のインデックス位置です。

于 2012-07-02T10:58:33.327 に答える
0

文字L'\n'を検索すると、文字列の「末尾」ではなく改行が検索されます。CString は size() または length() メソッドをサポートしていません。必要な部分文字列の長さを計算するために使用できる全体の長さを取得するために使用できますか?

于 2012-07-02T10:57:07.327 に答える