Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Parameterübergabe an exe

Empfohlene Antworten

Veröffentlicht

Hi Leut´s

Hab folgendes Programm geschrieben:

#include <iostream>

#include <stdlib.h>

using namespace std;

int main(int eingabe)

{

int i;

for (i = 0; i < eingabe; i++)

{

cout << "Parameter " << eingabe << endl;

}

eingabe=0;

system("PAUSE");

return 0;

}

Wenn ich nun dieses Programm mit dem Parameter 10 aufrufe sollte ja die Schleife 10x durchlaufen werden und somit 10 x Parameter 10 dastehen... sollte man meinen...

Bei mir kommt aber egal was ich für einen Parameter eingebe die 2 und die Schleife läuft auch nur 2 mal durch...

Ohne Parameterübergabe kommt die 1 ??

Ich glaub ich steh auf dem Schlauch....

Eigentlich keiner... hab´s irgenwo mit google in nem forum gefunden..

Hast Du ne Ahnung wie´s funzt

Versuchs mal mit: int main(int argc, char* argv[])

wobei argc die Anzahl der uebergebenen Argumente ist und in argv[] die Argumente zu finden sind.

Wenn du also nur 10 uebergeben willst, dann musst dein Argument noch in nen Integer umwandeln um es fuer deine Schleife benutzen zu koennen.....vorzugsweise mit atoi.

Goos

Warum argv[] umwandeln das verstehe ich net ganz. Meiner Meinung nach sollte es so funktionieren.

#include<iostream.h>

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

int i;

for(i = 0; i < argc; i++)

cout << "Param. Nr. " + i + ": " + argv + "\n";

} //main

Wenn ich nun dieses Programm mit dem Parameter 10 aufrufe sollte ja die Schleife 10x durchlaufen werden und somit 10 x Parameter 10 dastehen... sollte man meinen...

Also ist ja ganz klar... in der Variable argc steht die ANZAHL der Parameter (dateiname des Programms und in deinem Fall 10) also 2 damit wird die Schleife auch nur 2 mal durchlaufen. in der Variablen argv[1] (argument Value) steht dann deine 10 als pointer auf einen char.

Dein (und mein vorhergehendes) Programm macht also nichts anderes als die Schleife so oft zu durchlaufen wie Parameter angegeben wurden.

Wenn du wirklich ne Zahl übergeben willst um mit ihr zu arbeiten, musst du wie schon erwähnt auf das entsprechende Argument (in deinem Fall: argv[1]) zugreifen und in einen integer umwandeln.

tu mir mal bitte den gefallen und schreib, was dein programm eigentlich machen soll. eine schleife soll x-mal durchlaufen werden und dann was?

ich glaube, du verkünstelst dich da masslos für ne sache, die einfacher auch geht

Das war so ein generelles Ding, ich wollte nicht´s bestimmtes machen!!

Also danke an alle!!

Original geschrieben von capitanx

Warum argv[] umwandeln das verstehe ich net ganz. Meiner

...na weil nach dem Anfangsposting nicht alle uebergebenen Argumente ausgegeben werden sollten, sondern die Schleife bei einer uebergabe von 10 dann auch 10 mal durchlaufen werden soll. Deshalb muesste man dann den String "10" umwandeln :)

Goos

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.