int main(int argc,char *argv[]) { if(argc>1 && strcmp(argv[1],"-r")==0) { printf("hallo %s\n", argc[0]); // ikke alle OS overholder at argc er programmet. } else { printf("ikke hallo\n"); } return 0; }
If the value of argc is greater than zero, the string pointed to by argv[0] represents the program name; argv[0][0] shall be the null character if the program name is not available from the host environment. If the value of argc is greater than one, the strings pointed to by argv[1] through argv[argc-1] represent the program parameters.
hvilket jeg læser som at enhver compliant C compiler skal putte "-r" i argv[1] og bare lade argv[0] være tom hvis program nvanet ikke er tilgængeligt.
Jeg tror aldrig at jeg har oplevet en C compiler som ikke puttede program i argv[0], men der skal nok være nogen !
arne> Så vidt jeg husker var der nogle af de tidlige compilere / operativ system der ikke reporterede program navnet rigtigt i argv[0], jeg kunne forstillge mig programmer der køre fra prommer hvor der så ikke er noget operativ system og derfor heller ikke nogen program navn.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.