Shammer's Philosophy

My private adversaria

2010-08-01から1ヶ月間の記事一覧

HTTP Client ver 0.23

C

C 言語で HTTP クライアントを作ってみよう (2)に有用な情報を発見。Socket も FILE と同じように扱うのがよさそうだ。HTTP Client ver 0.22 - Shammerismで考えた関数化と合わせて以下のように変更。使わない関数もいくつかあるが、今後のメモとして。だい…

HTTP Client ver 0.22

C

HTTP Client ver 0.21 - Shammerismで、応答受信時に処理が停滞してしまう事象はインチキくさいが Connection: close を付与することで一時的に回避。Connection: keep-alive 時には、Content-Length をカウントして受信しきったらクローズするようにしない…

HTTP Client ver 0.21

C

HTTP Client ver 0.2 - Shammerismをちょっとだけ改良した。旧実装では、is_valid_ipaddr が条件によっては何も返さない箇所があった。そのため、コンパイルオプション次第では warning: control may reach end of non-void function [-Wreturn-type]の警告…

String.indexOf-C言語版

C

HTTP Client を書く際に、URL の判定は必須。その際、: が何文字目にあるとか、? を含んでいるかとか、そういう処理をすることになる。それをするための関数を作成。Javaでいうところのjava.lang.String.indexOfといったところか。まずは、main 関数内で直接…

open-junk-file.el

即座に *scratch* バッファと同じようなバッファを作成でき、しかもそのバッファを蓄積しておくことを可能にする elisp があることを知った。情報源はこの本。 Emacsテクニックバイブル〜作業効率をカイゼンする200の技(技術評論社) http://gihyo.jp/book/…

The key-chord.el, My Own Keybind Helper

Emacs 使っていると、キーバインドがどうしても足りなくなる。大体のキーバインドは、 Ctrl + *** (Ctrl - x) + *** (Ctrl - c) + (Ctrl - ***) (Ctrl - c) + *** (独自割り当て用に定義) という形で使用する形になっている。でも、いちいち Ctrl を押しなが…

CygwinのEmacs

仕事の都合で、Cygwinを入れてみた。当然、エディタはemacs。 試しに使ってみたが、Ctrl/X+Ctrl/Cで終了できない。 なんだ、使えないじゃないか・・・と思って調べてみたら、かなり有名な話のようで 対処法を書いたページが容易に見つかった。 http://fuu-ga…

Bash Shell Script my pocket reference - 20100812

if 文 sample if [ $# -ne 1 ];then echo "Usage: $0 [123]"; exit 1; fi if [ $1 -eq 1 ];then echo "You are number#1."; elif [ $1 -eq 2 ];then echo "You are number#2."; elif [ $1 -eq 3 ];then echo "You are number#3."; else echo "Invalid argume…

文字をテロップのように表示する

C

BohYoh.com【著書】解きながら学ぶC言語の問題の一つとして取り上げられていた。putchar('\r')を使用することで改行せずに同一行の先頭にカーソルを移動できる。そこから文字をずらして表示させていけば、テロップのように表示できる。 #include <stdio.h> #include <string.h></string.h></stdio.h>…

EOF到達まで

C

改行とEOF - Shammerismの続き。実装を以下のように変更してみて、どの程度まで getchar() を実行し続けることができるかを試してみた。 #include <stdio.h> int main(int argc, char * args[]){ int i = 0; puts("Type:"); while ( 1 ) { char c = getchar(); if ( c</stdio.h>…

改行とEOF

C

入力バッファクリア方法 - Shammerismでは、getchar() の結果が \n だったら、つまり、改行だったら getchar() を終わりにする、というようにしていたが、どうやら改行での判断は一つの手段でしかないらしい。改行以外にEOFでの判定もできるようだ。 #includ…