Daniel schrieb:
> Wie sieht argv nun intern im Speicher aus?
>
> argv -> "progname"
> argv + 1 -> "1"
> argv + 2 -> "2"
> argv + 3 -> "3"
> argv + 4 -> ??? 0 oder keine 0
0
>
> while((char *msg = argv++))
> std::cout << msg << std::endl;
>
> andererseits, wenn das so wäre, dann bräuchte man argc Zähler nicht.
argc ermöglicht dir auch die alternative Form zu benutzen
1 | for( i = 0; i < argc; ++i )
|
2 | mach_was_mit( argv[i] );
|
Das ist das eine. Das andere ist, dass dir argc eine schnelle Prüfung
ermöglicht, ob genug Parameter angegeben wurden, bzw. darauf zu
reagieren.
1 | int main( int argc, char* argv[] )
|
2 | {
|
3 | if( argc == 1 ) {
|
4 | printf( "Not enough parameters\n" );
|
5 | showHelp();
|
6 | return EXIT_FAILURE;
|
7 | }
|
8 |
|
9 | ...
|