C++ Builder 參考手冊 ? System::Sysutils ? ByteToCharLen
字符串里面前面 MaxLen 個編碼單元包含多少個字符缘揪,過時的函數(shù)台盯,需要用 ElementToCharLen 代替
頭文件:#include <System.SysUtils.hpp>
命名空間:System::Sysutils
函數(shù)原型:
int __fastcall ByteToCharLen(const System::UnicodeString S, int MaxLen);
int __fastcall ByteToCharLen(const System::AnsiString S, int MaxLen);
參數(shù):
- S:字符串园骆;
- MaxLen:編碼單元個數(shù),UnicodeString 的編碼單元為 char16_t (或 wchar_t)司倚,AnsiString 的編碼單元為 char,由于一個字符可能由1個或多個 char16_t 或 char 組成的,所以 n 個 char16_t 或 char 可能少于 n 個字符动知;
返回值:
- 字符串前面 MaxLen 個編碼單元包含的字符個數(shù)皿伺;
- 過時的函數(shù),需要用 ElementToCharLen 代替盒粮;
- 函數(shù)內(nèi)部只是簡單的調(diào)用 ElementToCharLen鸵鸥,所以和 ElementToCharLen 是相同的。
- AnsiString 字符串 "Hello玄坴" 長度為 9丹皱,即包含 9 個編碼單元妒穴,包含的字符個數(shù)是 7 個字符;
- UnicodeString 字符串 L"Hello玄坴" 長度為 7摊崭,即包含 7 個編碼單元宰翅,包含的字符個數(shù)是 7 個字符;
- UnicodeString 字符串 L"土??圭垚???" 長度為 8爽室,即包含 8 個編碼單元汁讼,包含的字符個數(shù)是 6 個字符。
相關(guān):
- System::Sysutils::ByteToCharIndex
- 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::CharToElementIndex
- System::Sysutils::CharToElementLen
- System::Sysutils::ElementToCharIndex
- System::Sysutils::ElementToCharLen
- System::Sysutils
- std::mblen
- std::_mbstrlen
- <cstdlib>
- std::strlen, std::_fstrlen, std::_tcslen, std::wcslen
- <cstring>
C++ Builder 參考手冊 ? System::Sysutils ? ByteToCharLen