このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1308749241/639
#  [1] C言語演習 
#  [2] argvで入力された引数 "123:456:78:90" の様な文字列を ":" 区切りで 
#  別の配列へ順に格納せよ。(strchr関数を使いなさい) 
#  上記の例では、[0]=123,[1]=456,[2]=78,[3]=90となる。 
#  尚、::の連続もありで、"12:34::90" は [0]=12,[1]=34,[2]=null,[3]=90となる。 
#   
#  下の様に処理しているが、スマートに行きません。。。 
#  p = NULL; 
#  p = strchr(str, ':'); 
#  while (p != NULL) { 
#    printf("length %d\n", strlen(str)-strlen(p)); 
#    p++; 
#    p = strchr(p, ':'); 
#  } 
#  

'argvで入力された引数 "123:456:78:90" の様な文字列を ":" で区切り、プログラム引数述語のリスト引数とする' :-
        user_parameters([_引数文字列]),
        split(_引数文字列,[':'],L),
        assertz(プログラム引数(L)).

user_parameters(UserParameterList) :-
        current_prolog_flag(argv,ParameterList),
        append(_,['--'|UserParameterList],ParameterList).