4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

自作エディタをつくるAdvent Calendar 2016

Day 6

コンソールで動くエディタを作る(6日目) 表示部分の実装・文字コードで悩む

Posted at

本稿は自作エディタをつくる Advent Calendar 2016の6日目です、レポジトリはこちら

このアドベントカレンダーは、コンソール上で動くエディタを25日間で1から自作することを目標としています。

今日は淡々と実装していきます

ひたすら実装する

いままでの回で実装していた細かい部品をひたすら設計に当てはめていきます。

あんまり書くことがない・・・・

とりあえず、今までの部品をつなぎ終える

足りない部分がかなりありますが、表示のところは少し出来てきました。
main.cを、作成中のエディタで表示してみました。
画面上端にファイル名が表示されています。

スクリーンショット 2016-12-06 12.41.03.png

マルチバイト文字のキーボード操作を考える(悩み中)

3日目にキーボード操作について調べましたが、そのときは文字が1バイトである、という前提があるコードでした。

そのままだと困るので、マルチバイト文字の長さを知る方法を調べます。

ここが非常に参考になりましたが、どうも自分が作成したプログラムに上手くあてはめれません。

理由は、マルチバイト文字がきちんと配列にはいっておらず、途中で他の配列(連結リストした先)や入力バッファに分断した状態で入っているためで、「ヌル終端で、マルチバイト文字が途切れていない文字列」の状態に持っていくのが難しいからです。

同じ人のここを読みながら、文字の状態をどう扱うか悩んでいます。UTF8決め打ちでいいのかなぁ、とか。

今日のまとめ

  • もくもくと実装しています

前回分の移植が多かったため、あまり書くことがなかったのですが、結構進んだぞ!と思っています。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?