C++ Builder 參考手冊 ? System::Sysutils ? NextCharIndex
字符串里面下一個字符是從第幾個編碼單元開始的
頭文件:#include <System.SysUtils.hpp>
命名空間:System::Sysutils
函數(shù)原型:
int __fastcall NextCharIndex(const System::UnicodeString S, int Index);
參數(shù):
- S:字符串糕殉;
- Index:編碼單元索引绢涡,從 1 開始為第 1 個編碼單元,UnicodeString 的編碼單元為 char16_t (或 wchar_t)寝受,由于一個字符可能由 1 個或 2 個 char16_t 組成的偎窘,所以第 n 個 char16_t 不一定是第 n 個字符乌助;
返回值:
- 字符串 S 里面第 Index 個編碼單元 (char16_t) 所在字符的下一個字符是從第幾個編碼單元開始的;
- 在 UnicodeString 里面通常每個英文字符和常用漢字和符號是一個 char16_t陌知,一些不常用的漢字和符號兩個 char16_t他托。
例子:
- UnicodeString 字符串 L"土??圭垚???" 當(dāng)中第 2 和第 3 個 char16_t 組成第 2 個字符 "??",第 6 和第 7 個 char16_t 組成第 5 個字符 "??"仆葡,其他的字符都是單個 char16_t 的字符赏参;
UnicodeString S = L"土??圭垚???";
字符 | 編碼單元序號 |
---|---|
土 | 1 |
?? | 2, 3 |
圭 | 4 |
垚 | 5 |
?? | 6, 7 |
? | 8 |
NextCharIndex(S, 1) 等于 2,第 1 個編碼單元位置的 '土' 的下一個字符 '??' 是從第 2 個編碼單元開始的沿盅;
NextCharIndex(S, 2) 等于 4把篓,第 2 個 編碼單元位置的 '??' 的下一個字符 '圭' 是從第 4 個編碼單元開始的;
NextCharIndex(S, 3) 等于 4嗡呼,第 3 個 編碼單元位置的 '??' 的下一個字符 '圭' 是從第 4 個編碼單元開始的纸俭;
NextCharIndex(S, 4) 等于 5,第 4 個 編碼單元位置的 '圭' 的下一個字符 '垚' 是從第 5 個編碼單元開始的南窗。
相關(guān):
- System::Sysutils::CharToElementIndex
- System::Sysutils::CharToElementLen
- System::Sysutils::ElementToCharIndex
- System::Sysutils::ElementToCharLen
- System::Sysutils::NextCharIndex
- System::Sysutils::BytesOf
- System::Sysutils::WideBytesOf
- System::Sysutils::PlatformBytesOf
- System::Sysutils::StringOf
- System::Sysutils::WideStringOf
- System::Sysutils::PlatformStringOf
- System::Sysutils::ByteLength
- System::Sysutils::CharLength
- System::Sysutils::StrCharLength
- System::Sysutils::AnsiLastChar
- System::Sysutils::AnsiStrLastChar
- System::Sysutils::AnsiPos
- System::Sysutils::AnsiStrPos
- System::Sysutils::AnsiStrScan
- System::Sysutils::AnsiStrRScan
- System::Sysutils
- std::mblen
- std::_mbstrlen
- <cstdlib>
- std::strlen, std::_fstrlen, std::_tcslen, std::wcslen
- <cstring>
C++ Builder 參考手冊 ? System::Sysutils ? NextCharIndex