コマンドラインパラメータが常にnullで終了するかどうか疑問に思っていますか? Google は「はい」と言っているようで、GCC でのコンパイルはこれが事実であることを示していますが、これが常に正しいことを保証できますか?
int main(int argc, char** argv)
{
char *p;
for(int cnt=1; cnt < argc; ++cnt)
{
p = argv[cnt];
printf("%d = [%s]\n", cnt, p);
}
return 0;
}
$ MyProgram -arg1 -arg2 -arg3
1 = -arg1
2 = -arg2
3 = -arg3