C言語でUTF8エンコーディングの文字列を扱うときに
以外に面倒なのが文字の表示幅と文字数の扱いです。
例えば strlen() は1バイト1文字として扱うので
1文字が1~4バイトのUTF8文字列を使う場合注意
しなくてはいけません。
C言語でUTF8エンコーディングの文字列を扱うときに
以外に面倒なのが文字の表示幅と文字数の扱いです。
例えば strlen() は1バイト1文字として扱うので
1文字が1~4バイトのUTF8文字列を使う場合注意
しなくてはいけません。
昨日、本棚の整理などをしていると、かなり前に気に入っていた
C言語関連の技術書を"再発見"しました。
懐かしくて中をめくると、当時書いたと思われるメモの切れ端が
いくつか出てきました。その中の1枚に関して、かなり問題のある
メモを発見しましたので ここに書いておきます。
2016年現在 このことを指摘したページが発見できませんでした。
それが"イリッフィベクタ" なるデータ構造についです。
C言語によらず、対話的なプログラムなどでは
一行分の入力を受付けて、それを処理することがよくあります。
ただ、C言語で1行の入力を行うとたまに困った現象が発生します。
例えば
などなどです。
WindowsでCのプログラミングを経験した人がUNIX系のシステムでプログラミングをするときに
最初に抱く疑問としてよく聞くものが1つがあります。
ユーザーがReturnキーを押すまで端末から入力を得る方法がない
ということです。
具体的にはLinuxなどのCライブラリでは
getch() … エコーバック無しで直ちに1文字分の入力を受ける
関数が使えません。
以前
iPhone/iPod touchでC言語プログラミング
このような記事を公開しました。
先日「Androidでは同じことできないの?」とメールを
頂きましたので、ご紹介しようと思います。
At a Canter ♪
Linuxの話題等…自分の興味の向くままに更新中
© 2023 hiroumauma
© 2023 hiroumauma