ByteType - C++ Builder

2021-09-17  本文已影响0人  玄坴

C++ Builder 参考手册System::SysutilsByteType


字符串里面某个编码单元的类型

头文件:#include <System.SysUtils.hpp>
命名空间:System::Sysutils
函数原型:

TMbcsByteType __fastcall ByteType(const System::AnsiString S, int Index);
TMbcsByteType __fastcall ByteType(const System::UnicodeString S, int Index);

参数:

返回值:


例子:这个例子演示了 AnsiString 和 UnicodeString 包含 1 个和 2 个 编码单元的字符的编码单元类型:

template<class T>
UnicodeString EnumToString(T t)
{
    return Typinfo::GetEnumName(__delphirtti(T), (int)t);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    AnsiString s = L"Hello玄坴";
    Memo1->Lines->Add(s);

    int n = s.Length();
    for(int i=1; i<=n; i++)
    {
        Memo1->Lines->Add(IntToStr(i) + L": " + EnumToString(Sysutils::ByteType(s,i)));
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    UnicodeString s = L"土𪢴圭垚𡋣㙓";
    Memo1->Lines->Add(s);

    int n = s.Length();
    for(int i=1; i<=n; i++)
    {
        Memo1->Lines->Add(IntToStr(i) + L": " + EnumToString(Sysutils::ByteType(s,i)));
    }
}

运行结果:

运行结果1 运行结果2

相关:


C++ Builder 参考手册System::SysutilsByteType

上一篇 下一篇

猜你喜欢

热点阅读