CGI STDIN

Apache Tutorial: CGI による動的コンテンツ - Apache HTTP サーバ http://httpd.apache.org/docs/2.0/howto/cgi.html

	STDIN と STDOUT
	サーバとクライアント間のもう一つの通信は、標準入力 (STDIN)と標準出力 (STDOUT) を通じて行なわれます。通常の文脈において、STDIN はキーボードやプログラムが動作するために与えられるファイルを意味し、 STDOUT は通常コンソールまたはスクリーンを意味します。
	ウェブフォームから CGI プログラムへPOST したとき、フォームのデータは特別なフォーマットで束ねられ、 STDIN を通して、CGI プログラムに引き渡されます。 プログラムはデータがキーボード もしくはファイルから来ていたかのように処理することができます。
	「特別なフォーマット」はとても単純です。フィールド名と値はイコール (=) で結ばれます。そして値の組はアンパサンド (&) で結ばれます。 スペース、アンパサンド、イコールのような面倒な文字は、 それらが動作を駄目にしないようにその文字に相当する 16 進に変換されます。 全データ文字列は、以下のようになります:
	            name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey
	時々、このような文字列が URL に付加されるのを見るでしょう。その場合、サーバは QUERY_STRING という環境変数にその文字列を入れます。それは GET リクエストと呼ばれます。 HTML フォームでは、データを渡すために GET と POST のどちらを使用するかを、FORM タグの METHOD 属性の設定で指定します。
	CGI プログラムは、その文字列を役に立つ情報に分割する責任があります。 幸いにも、そのデータ処理を助けるライブラリやモジュールが存在します。 これらは、CGI プログラムの他の面でも同様に役に立ちます。

prog > file とすると、stdoutを画面からfileに切り替えます。 したがって、質問のプログラムを例えば、cp.exeという名前でコンパイルすると cp < infile.txt > outfile.txt と実行すると、stdinがinfile.txt、stdoutがoutfile.txtとなって、 http://oshiete.goo.ne.jp/qa/2846277.html


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-07-27 (火) 21:10:41 (3188d)