C & C++ FAQ
|
C | C++ | プログラムに渡される引数を扱うにはどうすればよいですか。 |
あるいはint main(void) { /* ... */ }
として定義することになります。仮引数は、main関数に対して局所的であるため,どのような名前でも構いません。int main(int argc, char * argv[]) { /* ... */ }
argvがポインタであることを利用し、次の文字列を指すようインクリメントしながら表示するには、以下のようにします。#include <stdio.h> int main(int argc, char *argv[]) { int i; for (i = 0; i < argc; i++) printf("argv[%d] = \"%s\"\n", i, argv[i]); return (0); }
また、一文字ずつなぞりながら表示するには、以下のようにします。#include <stdio.h> int main(int argc, char **argv) { int i = 0; while (argc--) printf("argv[%d] = \"%s\"\n", i++, *argv++); return (0); }
#include <stdio.h> int main(int argc, char **argv) { int i = 0; char c; while (argc--) { printf("argv[%d] = \"", i++); while (c = *(*argv)++) putchar(c); argv++; printf("\"\n"); } return (0); }
標準C | §5.1.2.2.1 | Program startup |
標準C99 | §5.1.2.2.1 | Program startup |
標準C++ | §3.6.1 | Main function |