Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

C++ Kommadozeilenproblem :-)

Ashura - 38
Profi (offline)

Dabei seit 04.2005
429 Beiträge

Geschrieben am: 08.01.2008 um 21:09 Uhr

Leute, ich muss ein Programm schreiben (in Visual Studio 2005 Express), das mir was über die Kommandozeile einliest.
Das Programm ist kein Thema und ich weiß auch, was an main übergeben wird
(ein Array aus chars, das eingelesen wird und dessen Länge)
aaaber.
Wenn ich das jetzt testen will....
wie krieg ich das mit der Kommandozeile hin?
Ich verstehe gar nicht, wie ich das öffnen soll.
Ich google jetzt seit 1 Woche (!!), aber ich find nix dazu.
Das ist das erste Mal, dass ich mit der Kommandozeile zu tun hab.
Wär echt super, wenn jemand der Nullcheckerin das erklären könnte. ;-)
Wenn ich strg und f5 mache, öffnet er halt das schwarze Fensterle und...macht nix. Logisch. Hab ja nix über diese dämliche Kommandozeile eingelesen.
Das macht mich wahnsinnig.
Vielen Dank für jegliche Hilfe im voraus^^
(ob mein Programm jetzt fehlerfrei ist oder nicht ist wurscht, ich will einfach was einlesen können! Und zumindest find ich beim debuggen nix...)

Wer alte My little Pony und Keypers Sachen hat, melde sich: Ich kaufe euch das ab!!

sk8tefreak
Anfänger (offline)

Dabei seit 06.2005
9 Beiträge
Geschrieben am: 08.01.2008 um 21:13 Uhr

erklär mal das genauer?
meinst du einlesen wie dem programm in der kommandozeile parameter zu übergeben?
oder so etwas wie eine shell?
Ashura - 38
Profi (offline)

Dabei seit 04.2005
429 Beiträge

Geschrieben am: 08.01.2008 um 21:17 Uhr
Zuletzt editiert am: 08.01.2008 um 21:24 Uhr

Also:
Ich soll anscheinend das Programm über diese ominöse Kommandozeile starten.
./NameProgramm
ist anscheinend der Befehl dazu. ?__?
Und dann soll ich halt zB einen String eingeben.
Und der soll dann an die main Funktion übergeben werden durch:
int main( int argc, char *argv[])
{
//unwichtiges zeug
return 0;
}

wo geb ich den ominösen Befehl ein, dass das startet und ich da was einlesen kann. Ich blicks echt gar nicht.

EDIT: Ich hab übrigens, da ich im Netz ja nix gefunden hab, in Visual Studio überall das Zeug hingetippt, aber da ist nix passiert. *lol*
Also ich hab überall außerhalb des editors wo man schreiben kann ./NameProgramm eingegeben *lol*
EDIT2:
Es kann echt nicht sein, dass ich an diesem Miniprog scheiter. O__O
Ich hab bis jetzt alle Aufgaben hingekriegt auch kompliziertere mit Klassen, Listen etc. pp., aber diese Miniaufgabe geht nicht.....argh.

Wer alte My little Pony und Keypers Sachen hat, melde sich: Ich kaufe euch das ab!!

ANDR3A5 - 40
Anfänger (offline)

Dabei seit 06.2004
1 Beitrag
Geschrieben am: 08.01.2008 um 21:25 Uhr

probiers mal mit einem getch(); oder getchar(); direkt bevor du die main() schließt
--> hab das gefühl, dass dein programm durchläuft ohne dass, du die möglichkeit hast deinen string einzugeben oder???
Ashura - 38
Profi (offline)

Dabei seit 04.2005
429 Beiträge

Geschrieben am: 08.01.2008 um 21:28 Uhr

Ja!
Aber wie kann ich denn ein Programm überhaupt erst von der Kommandozeile aus starten??
Wenn ich getchar() nehm, mach ichs ja trotzdem wieder mit strg f5 auf.
Aber danke, ich probiers mal. :-)

Wer alte My little Pony und Keypers Sachen hat, melde sich: Ich kaufe euch das ab!!

scw - 42
Experte (offline)

Dabei seit 09.2002
1836 Beiträge
Geschrieben am: 08.01.2008 um 21:33 Uhr

du kannst es auch mit cin aus std versuchen... Das fenster schließt sich von alleine weil dein Programm nichts mehr zu tuen hat und sich deshalb beendet. mit cin wartet es noch auf eine Eingabe.
Der666Diablo
Champion (offline)

Dabei seit 04.2006
23736 Beiträge

Geschrieben am: 08.01.2008 um 21:33 Uhr

start porgrammxy.exe, wenns ne exe ist^^

Bei Geld, Sex und Kunst gibt es keinen abnehmenden Grenznutzen. http://shortlinks.de/oee9

Ashura - 38
Profi (offline)

Dabei seit 04.2005
429 Beiträge

Geschrieben am: 08.01.2008 um 21:35 Uhr
Zuletzt editiert am: 08.01.2008 um 21:40 Uhr

Mit cin soll ichs aber eben nicht machen.
Ich soll den Mist "von der Kommandozeile" einlesen lassen.
:-((((((
Und wo geb ich Porgramm.exe ein?
Sorry für die dämlichen Fragen, aber ich hab keinen GCC und mein bisheriges Ausführen bestand aus strg und f5. XD
Egal wie ichs mach. Diese mistigen Buchstaben sollen in argv drin sein!
Und wenn ichs mit cin oder sonst wie mach und zum spaß eines der felder ausgeb, kommt: Das Programm geht nicht mehr.
Außer bei argv[0] weil da logischerweise der Pogrammname drinnen steht.
getchar() bringt auch nischt.

Wer alte My little Pony und Keypers Sachen hat, melde sich: Ich kaufe euch das ab!!

wiedoo - 36
Fortgeschrittener (offline)

Dabei seit 10.2005
90 Beiträge
Geschrieben am: 08.01.2008 um 21:39 Uhr
Zuletzt editiert am: 08.01.2008 um 21:41 Uhr

Also so wie ich das verstehe musst du einfach nur die Kommandozeile per "Windowstaste" + R öffnen, dort "cmd" eingeben, dann mit cd in den Ordner wechseln wo dein Programm ist
z.B. "cd C:\Programme"
und dann mit "NamedeinesProgramms.exe -Parameter1 -Parameter2" öffnen

die Parameter werden dann in dem Array argv[] gespeichert und kannst dann mit dene in deinem Programm weiterarbeiten

Sry falls ich es falsch verstanden hab

Gruß

while(!asleep()) sheep++;

Polaris
Experte (offline)

Dabei seit 07.2006
1766 Beiträge
Geschrieben am: 08.01.2008 um 21:43 Uhr
Zuletzt editiert am: 08.01.2008 um 21:44 Uhr

deine Erklärungen sind etwas konfus, aber du willst nicht zufällig folgendes machen?:

Start->Ausführen->cmd

dann bist du in der Kommandozeile, bewegst dich mittels des cd-Befehls zu deinem Verzeichnis und gibst dann ein:

# myprogramm.exe -*Parameter*

und statt *Parameter* schreibst du halt das was du dem Programm übergeben willst
dann liest du das über dein argv Array ein und machst damit was auch immer

/Edit:
da war ich wolh zu spät ;-)

Patriotismus ist die Tugend der Bosheit! (Oscar Wilde)

Ashura - 38
Profi (offline)

Dabei seit 04.2005
429 Beiträge

Geschrieben am: 08.01.2008 um 21:49 Uhr
Zuletzt editiert am: 08.01.2008 um 22:01 Uhr

Danke für die Hilfe!
Es geht.

Wer alte My little Pony und Keypers Sachen hat, melde sich: Ich kaufe euch das ab!!

spark82 - 43
Halbprofi (offline)

Dabei seit 11.2006
240 Beiträge

Geschrieben am: 09.01.2008 um 08:30 Uhr

Du kannst bei den Einstellungen deines Projektes im MS Visual Studio auch angeben, dass beim Starten Parameter übergeben werden sollen. Dann kannst du das Programm auch mit Parametern debuggen. Wo genau kann ich dir nicht sagen, ich verwende das nicht und debugge i.d.R. mit printf's.

Das schlimmste an Zensur ist XXXXXXXX XXXXXX.

  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -