こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

cでなぜguiアプリが作成出来るのか。

cでなぜguiアプリが作成出来るのか。

現在cについて学習中です。
テキストエディタで書きターミナルで実行しています。
cではアプリが作れるようになるといいますが
現在のままではcuiのソフトしかできる気がしません。

一般的に言われるアプリケーションというものを
作成するにはまた別の手段が必要なのでしょうか。

投稿日時 - 2010-04-30 10:27:19

QNo.5861419

すぐに回答ほしいです

質問者が選んだベストアンサー

C言語の標準関数では出来ませんね。
Windowsであれば、WindowsAPIと言う関数群を使ってウィンドウを作成したり、ウィンドウをコントールする事が出来ます。
昔のMS-DOS時代であれば、直接VRAM(画像メモリ)をポインタで操作出来ましたので、VRAMに直接書いていました。

WindowsAPIについて紹介しておきます。
「Win32 API入門」Win32は、WindowsAPIの32bit版と言う意味です。
http://wisdom.sakura.ne.jp/system/winapi/index.html
C言語の知識としては、ポインタから構造体まで使いますので初心者にはムチャクチャ難しいです。CUIが自在に組める人でも挫折者がいますからね。

そうそう、CUIでもこのぐらいは出来るよと言う例も書いときますね。
http://hp.vector.co.jp/authors/VA016117/cprog/index.html
参考にしてください。

投稿日時 - 2010-04-30 10:53:47

お礼

リンク先まで掲示していただきありがとうございます。
参考になりました!
お時間を回答に割いていただきありがとうございます。

投稿日時 - 2010-04-30 11:13:10

ANo.2

このQ&Aは役に立ちましたか?

16人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

規格厳密合致プログラムは無理ですが、外部コマンドを利用すれば、標準関数だけでGUIを作ることも不可能ではありません。
具体的には、下記のようにです。

#include <stdio.h>

int main(void)
{
 static const char script[] =
  "button .b -text ボタン\n"
  "pack .b\n";
 FILE *fd = fopen("script.tcl", "w");
 fputs(script, fd);
 fclose(fd);
 system("wish script.tcl");
 return 0;
}

ただ、普通はGUIを作るためのライブラリ等を使う必要があります。
当然、そのライブラリ等の知識を得る必要がありますし、ライブラリ等をインストールする必要が出てくる場合もあります。

投稿日時 - 2010-05-01 00:37:45

ANo.1

Cの標準規格ANSIだけでは無理です。
だから別途ライブラリを利用します。
有名どころだとWindowsだとWin32API(ただしWindowを作るだけと言うよりWindows全体をカバー)やそのラッパーになるMFC。
UNIXの世界だとGTK+やQTなど


ただし厳密にはその別途利用されているライブラリもCで書かれている場合があります。
また、Windowアプリの場合、そのWindowsそのものを各ライブラリを利用してCを利用して書くこともできますが
リソースとして用意しておく場合もあります。


それとGUIアプリってCよりC++の方が向いている気がするよ。勉強するならC++やった方がいいと思う。

投稿日時 - 2010-04-30 10:43:20

お礼

参考になりました。
お時間を回答に割いていただきありがとうございます。

投稿日時 - 2010-04-30 11:09:38

あなたにオススメの質問