記事一覧
C言語で構造体にインターフェースを実装する
C言語でインターフェースを実装する
インターフェースとは、クラスがある言語でクラスに対して実装する共通メソッドのことです。
インターフェースは共通化して使用することができます。
特定の共通インターフェースを実装しているクラスA, Bは、インターフェースを取り出すことで同じように扱うことができます。
C言語にはクラスもインターフェースも機能としてありません。
しかし、構造体と関数ポインタ、voidポインタを使うことで似たようなことは実現できます。
(省略されました)
C言語とGTK+3でツリービューを構築する
C言語とGTK+3でツリービューを構築
C言語でGUIライブラリと言うとGTKというのがあります。
今回はGTK+3でバージョン3を使ってツリービューを構築してみたいと思います。
ツリービューは右クリックでアイテムを追加・削除できる仕組みです。
シグナルのバインドでデフォルトの動作が無効になるので、けっこう地道な作業が必要でした。
(省略されました)
C言語とGTK+3で表計算ソフトみたいな表を作る
C言語とGTK+3で表計算ソフトみたいな表
C言語のGTK+3は非常に高速なGUIライブラリです。
そのため高速処理が必要なGUIアプリ制作に適しています。
今回はこのGTK+3で表計算ソフトみたいな表を作ってみたいと思います。
以下が実行風景です。
(省略されました)
C言語とGTK+3でHello, World!を表示する【ウィンドウ, GUI】
GTK+3でHello, World!
C言語でGUIアプリを作りたいとなった時に、選択肢は色々あります。
その1つが「GTK」というライブラリを使う方法です。
GTKは「GIMP」というドローウィングツールの開発で開発されました。
GIMPはマルチプラットフォームで無料で利用できるドローウィングソフトとして有名です。
(省略されました)
リングバッファ(キュー)を使った文字列のパース処理
リングバッファ(キュー)を使ったパース
パース処理を書いているとファイルなどのストリームをパースをすることもあります。
それで困るのがストリームの読み込み位置を前に戻せないケースです。
パースの都合上、ストリームの読み込み位置を前に戻したい時があるのですが、ストリームのオープンモードによってはシークが出来ない場合があります。
そういった時にどのようにパースをすればいいのでしょうか?
(省略されました)