Przekazywanie danych do programu poprzez argumenty
Ostatnio zmodyfikowano 2009-01-04 01:33
| zori Temat założony przez niniejszego użytkownika | Przekazywanie danych do programu poprzez argumenty » 2009-01-03 15:53:34 Jest to mały programik który wymaga po przekompilowaniu utworzenia sktóry i właczenia z parmetrem "-Hello" (musi byc z dużej litery) kiedys może sie to komus przydać. Dokładniejszy opis zrobie jesli kogoś to zainteresuje bo tak to mam narazie cos innego do roboty :P #include <iostream>#include <conio.h>
 using namespace std;
 
 int main( int argc, char * argv[] ) {
 if( argc == 1 ) return 0;
 
 if( strcmp( argv[ 1 ], "-Hello" ) == 0 ) cout << "dzieki za przywitanie" << endl;
 
 getch();
 return 0;
 }
 
/edit  nie trzeba tworzyć w sumie skróty ale to najprostrzy ze sporobów uruchamiania aplikacji z dowolnym parametrem. | 
|  | 
| DejaVu | » 2009-01-03 17:58:29 Zmieniłem trochę tytuł... | 
|  | 
| zori Temat założony przez niniejszego użytkownika | » 2009-01-03 17:59:57 Duzo kursów widziałem i nie było to opisywane.
 P.S. Może byc taki tytuł
 | 
|  | 
| lynx | » 2009-01-03 18:09:23 Manfred każdy kiedyś zaczynał naukę C++, również Ty. Więc powinieneś zrozumieć kolegę, a nie go ośmieszać. Pewnie nie wszyscy to znają, a zwłaszcza początkujący. | 
|  | 
| DejaVu | » 2009-01-03 18:12:19 Potwierdzam. Warto zaznaczyć, że ja tego w kursie nie opisałem, a w sumie na pewnym etapie kursu powinno się to pojawić. | 
|  | 
| pekfos | » 2009-01-03 18:24:59 a w ogóle to co robią te "int agrc chr** argv"?? | 
|  | 
| DeBugger | » 2009-01-03 18:42:21 | 
|  | 
| zori Temat założony przez niniejszego użytkownika | » 2009-01-03 18:43:24 Biore się za opis. 1) Jesli jak w moim przykładie utworzymi sktót z jakims parametrem i uruchomimy aplikacje to zmienna "argc" zwróci wartość 2 jeśli nie to wróci wartośc 1 2)"if (argc == 1) return 0" ten warunek jest ważny ponieważ jesli argc zwróci wartośc 1 (jak w przykąłdzie) "if (strcmp(argv[1], "-Hello") == 0" to ten warunek sporoduje bład aplikacji. Funkcja strcmp() porównuje dwa teksty (podajemy je jako dwa parametry) funkacja zwraca 0 jesli teksty są takie same. 3)argv[0] - zwraca ścieszkę do pliku .exe argv[1] - zwraca z jakim parametrem został uruchomiony program To chyba wystarczy narazie co nie?? Mój przykład przerobiony na lepsze #include <iostream>#include <conio.h>
 using namespace std;
 
 int main( int argc, char * argv[] ) {
 if( argc == 1 ) {
 if( strcmp( argv[ 1 ], "-Hello" ) == 0 ) cout << "dzieki za przywitanie" << endl;
 
 }
 getch();
 return 0;
 }
 
Jak widać drugi warunek zostanie pominięty jeśli nie bedzie podany jakikolwiek parametr. | 
|  | 
| « 1 »  2 3 |