Funkcja atoi

0

Witam

Mam następujące zadanie do zrobienia:
Napisz program który przyjmuje argumenty z wiersza poleceń(cmd) w postaci stringu i liczby całkowitej. Program ma wyświetlać podany string tyle razy ile wynosi wartość tej liczby. Należy zastosować funkcje atoi().

Zrobiłem coś takiego:

#include <stdio.h>
int main(int argc, char *argv[])
{
int licznik,numer;


gets(argv);


do
{
printf("%s \n",argv);

//printf("argc= %d", atoi(argv));

licznik++;
}while(licznik<atoi(argv));
return 0;
}  

I niby wszystko działa w kompilatorze, ale jak robie to przez konsole cmd to dalej nie wyswietla tyle razy ile podałem liczbę tylko wyświetla stringa raz.
Bardzo proszę o pomoc i wyjasnienie co robie nie tak.

1
int main(int argc, char *argv[])
  {
   if(argc!=3) printf("Napis oraz liczba!\n");
   else
     {
      argc=atoi(argv[2]);
      while(argc--) printf("%s\n",argv[1]);
     }
   return 0;
  }
1

Napisz program który przyjmuje argumenty z wiersza poleceń(cmd) w postaci stringu i liczby całkowitej.

gets(argv);
printf("%s \n",argv);

Huh? Skąd takie pomysły wziąłeś?

Chodzi o coś w rodzaju:?

// poza tym, trzeba sprawdzić czy faktycznie są te argumenty
for (int i = 0; i < atoi(argv[2]); i++) { // to atoi lepiej poza pętlą liczyć
    printf("%s", argv[1]);
}

(tylko musisz te dwa parametry przekazać).

Wywołanie:
./program string 2

0

Dragon jak wpisze w konsoli cmd to dalej nie działa ;/

0

Ty chbya w ogóle nie rozumiesz treści zadania :D cmd to konsola, nie masz tam wpisywać tego wyrazu

0

Poczytaj co napisał @msm na temat wywołania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1