C++でutf-8のマルチバイト文字毎に区切る
多分使わない方がいいです
#include<bits/stdc++.h>
using namespace std;
void decomp(const string &s, vector<string> &v) {
v.clear();
int N = s.size();
for (int i = 0, l; i < N; i += l) {
l = 1;
while (s[i] & 1 << 7 - l)
++l;
v.push_back(s.substr(i, l));
}
}
int main() {
vector<string> v;
decomp("こんにちは, 世界!", v);
for (auto c : v)
cout << c << '\n';
}
出力
こ
ん
に
ち
は
,
世
界
!
この記事が気に入ったらサポートをしてみませんか?