Pytanie do paragrafu 8.18 [Symfonia]

Pytanie do paragrafu 8.18 [Symfonia]
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
 #include <iostream.h>
#include <stdlib.h>

main(int argc, char * argv[])
{
     cout << "Wydruk parametrow wywolania :\n" ;

     for(int i = 0 ; i < argc ; i++)
     {
          cout << "Parametr nr "<< i
               << " to string: " << argv[i]
               << endl ;
     }

     /* --- zamienimy string na liczbe ---*/

     float x ;
     x = atof(argv[2]);
     x = x + 4;
     cout << "x =  " << x << endl ;
} 

"Jeśli program wywołamy tak pelikan param1 77.2"
U tutaj moje pytanie, wywołać tzn. jak? dać jako nazwę pelikan param1 77.2.cpp ?

RE
  • Rejestracja: dni
  • Ostatnio: dni
0

Wywołanie z linii poleceń. Jak masz Windows 7, wejdź w katalog ze skompilowaną aplikacją, przytrzymując shift kliknij prawym na pustą przestrzeń w katalogu i wybierz "otwórz okno polecenia tutaj". Wpisz nazwę programu i argumenty oddzielone spacją.

I jeszcze jedna rzecz: uczysz się z bardzo starego wydania książki, zaopatrz się w Symfonię C++ Standard.

  • Rejestracja: dni
  • Ostatnio: dni
0

Czyli przez cmd mam się dostać do folderu z .exe tego programu i co dalej?

RE
  • Rejestracja: dni
  • Ostatnio: dni
0

Wywołać go wpisując program.exe argument1 argument2 i nacisnąć enter.

  • Rejestracja: dni
  • Ostatnio: dni
0

Dzięki :)

Dziwne, bo jak wprowadzę trzeci parametr jako 17.2 to w odp. dostaje x = 4

byku_guzio
  • Rejestracja: dni
  • Ostatnio: dni
0

Bo 17.2 powinieneś podać jako drugi parametr. Pierwszym parametrem jest zawsze nazwa programu.
Zmień książkę...

  • Rejestracja: dni
  • Ostatnio: dni
0
byku_guzio napisał(a)

Zmień książkę...

Zdecydowanie, także dlatego że atof() nie powinno się używać, gdyż ta funkcja nie ma obsługi błędów. Coś starawa ta "Symfonia".

  • Rejestracja: dni
  • Ostatnio: dni
0

W takim razie co mogę użyć zamiast atof()?

iooi
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 573
0

W cstdlib jest też strtod().

byku_guzio
  • Rejestracja: dni
  • Ostatnio: dni
0

Imho lepiej jest użyć strumieni

Kopiuj
istringstream iss(argv[2]);
iss >> x;

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.