Jak wprowadzić zmienne do programu za pomocą konsoli


(tomi001) #1

Mam taki program

#include 



int main(int argc,char *argv[]) {




 if (argv[0] == 's') printf("dobrze");

 else printf("zle");




}

No i teraz moje pytanie jest takie jaka powinna być komenda w konsoli, żeby można było wprowadzić jakieś wartości do zmiennej argc i argv


([alex]) #2
#include 


int main(int argc,char *argv[])

  {

   printf("program %s\n",argv[0]);

   for(int i=1;i
   return 0;

  }

odpalasz:

program.exe parametr_1 parametr_2 "parameter 3 ze spacja w srodku" parametr_4

(tomi001) #3

Dzięki

Chociaż musiałem coś poprawić w tym programie bo się nie chciał kompilować

#include 


int main(int argc,char *argv[])

  {

   printf("program %s\n",argv[0]);

   for(int i=1;i
   return 0;

  }

Poprawiony

#include 


int main(int argc,char *argv[])

  {

    int i; //tutaj poprawiłem

   printf("program %s\n",argv[0]);

   for(i=1;i
     printf("parametr[%d]=%s\n",i,argv[i]);

   }

   return 0;

  }

-- Dodane 28.09.2013 (So) 14:08 -- Napisałem taki programik

#include 


int main(int argc,int argv[])

  {

    /*int i;

   printf("program %s\n",argv[0]);

   for(i=1;i
     printf("parametr[%d]=%s\n",i,argv[i]);

   }

   */

    //int suma1 = (int) argv[1];

    //int suma2 = (int) argv[2];

   int wynik = argv[1] + argv[2];

   //int wynik = suma1 + suma2;

   printf("%d",wynik);

   return 0;

  }

I teraz dziwi mnie to, że on nie chce dodać dwóch parametrów na wejściu, jak podaje jakieś liczby na wejściu przykładowo ./exec 1 2 to drukuje losową liczbę czemu ?


(Rolek0) #4

http://gynvael.coldwind.pl/?id=374

Tablica argv zawiera wskaźniki na napisy. Do konwersji napisu na liczbę możesz użyć np. atoi.


(tomi001) #5

Dzięki podziałało.