String型の文字列の全角・半角判断
Qrt 2017/09/19(Tue) 21:03
Reputeless 2017/09/20(Wed) 01:00
ASCII コードの範囲の文字をカウントしたいのであればこれだけで済みます。
わざわざ変換する必要はありません。
# include <Siv3D.hpp>
size_t CountAscii(const String& text)
{
size_t count = 0;
for (const auto& ch : text)
{
if (InRange<int32>(ch, 0, 127))
{
++count;
}
}
return count;
}
void Main()
{
const String text = L"a b.c&あいうえお";
const size_t count = CountAscii(text);
Println(L"半角: ", count);
Println(L"全角: ", text.length - count);
while (System::Update())
{
}
}