C 文字列操作 新しいページはコチラ
提供: yonewiki
(→文字列の検索と置換) |
(→文字列大文字小文字変換) |
||
3,312行: | 3,312行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
ひらがな→ローマ字変換が残念な結果になっているようでして、ひらがなと一緒に記述していたカタカナのギャギュギョをg~ャg~ュg~ョと変換してしまったようです。こんな変換をプログラムで提供することは稀れだと思いますが、ICUのバグのようですので、注意して使いましょう。ひらがなローマ字変換とか変換遊びの範囲まで来てるような気がします。やってみようとするところは凄いと思います。ほかにもたくさんの変換マップがあるようです。テキストエディタで特殊な変換を提供してみるのもおもしろいのかもしれません。使いこなせるユーザの方が少なさそうです。半角全角変換も同じような要領で実施できます。これらの変換は基本的にはUnicodeの中で実施され、その後、Unicodeから違う文字コードへの変換をするといった作業にで文字コードへの対応を実現します。次の項目では、これらの変換と同時に文字コードの変換を行う手法についても触れています。 | ひらがな→ローマ字変換が残念な結果になっているようでして、ひらがなと一緒に記述していたカタカナのギャギュギョをg~ャg~ュg~ョと変換してしまったようです。こんな変換をプログラムで提供することは稀れだと思いますが、ICUのバグのようですので、注意して使いましょう。ひらがなローマ字変換とか変換遊びの範囲まで来てるような気がします。やってみようとするところは凄いと思います。ほかにもたくさんの変換マップがあるようです。テキストエディタで特殊な変換を提供してみるのもおもしろいのかもしれません。使いこなせるユーザの方が少なさそうです。半角全角変換も同じような要領で実施できます。これらの変換は基本的にはUnicodeの中で実施され、その後、Unicodeから違う文字コードへの変換をするといった作業にで文字コードへの対応を実現します。次の項目では、これらの変換と同時に文字コードの変換を行う手法についても触れています。 | ||
+ | |||
+ | |||
+ | と、その前に、ICUを使わない大文字小文字変換もあるのでそのサンプルを記述します。利用する関数は | ||
+ | |||
+ | |||
+ | 大文字→小文字変換 | ||
+ | |||
+ | _strlwr、_wcslwr、_mbslwr、_strlwr_l、_wcslwr_l、_mbslwr_l | ||
+ | |||
+ | http://msdn.microsoft.com/ja-jp/library/vstudio/hkxwh33z.aspx | ||
+ | |||
+ | _strlwr_s、_strlwr_s_l、_mbslwr_s、_mbslwr_s_l、_wcslwr_s、_wcslwr_s_l | ||
+ | |||
+ | http://msdn.microsoft.com/ja-jp/library/vstudio/y889wzfw.aspx | ||
+ | |||
+ | ***lwr***系の関数になります。例によって_str***に_wcs***、_mbs***と接尾句に****_sや****_lそして****_s_lがつくものの組み合わせが存在しています。 | ||
+ | |||
+ | |||
+ | 小文字→大文字変換 | ||
+ | |||
+ | _strupr、_strupr_l、_mbsupr、_mbsupr_l、_wcsupr_l、_wcsupr | ||
+ | |||
+ | http://msdn.microsoft.com/ja-jp/library/vstudio/sch3dy08.aspx | ||
+ | |||
+ | _strupr_s、_strupr_s_l、_mbsupr_s、_mbsupr_s_l、_wcsupr_s、_wcsupr_s_l | ||
+ | |||
+ | http://msdn.microsoft.com/ja-jp/library/vstudio/sae941fh.aspx | ||
+ | |||
+ | ***upr***系の関数になります。こちらも_str***に_wcs***、_mbs***と接尾句に****_sや****_lそして****_s_lがつくものの組み合わせが存在しています。 | ||
=='''文字列半角文字全角文字変換'''== | =='''文字列半角文字全角文字変換'''== |