Pytanie do paragrafu 8.18 [Symfonia]

Odpowiedz Nowy wątek
2011-09-03 01:11
pyt.
0
 #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 ?

Pozostało 580 znaków

2011-09-03 01:17
Rev
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.


edytowany 1x, ostatnio: Rev, 2011-09-03 01:17

Pozostało 580 znaków

2011-09-03 01:47
pyt.
0

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

Pozostało 580 znaków

2011-09-03 01:49
Rev
0

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


Pozostało 580 znaków

2011-09-03 02:02
pyt.
0

Dzięki :)

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

Pozostało 580 znaków

2011-09-03 02:35
0

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


Pozostało 580 znaków

2011-09-03 11:29
Kumashiro
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".

Pozostało 580 znaków

2011-09-03 15:03
pyt.
0

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

Pozostało 580 znaków

2011-09-03 16:06
0

W cstdlib jest też strtod().

Pozostało 580 znaków

2011-09-03 17:39
0

Imho lepiej jest użyć strumieni

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

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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