Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12
  1. #1
    W32.FunLove
    Registriert seit
    22.05.2007
    Beiträge
    125

    Standard [C oder C++]Konsolenausgabe in Variable umleiten

    Guten Morgen Leute
    Kann mir jemand sagen wie man das bereits ausgegebene Auf der Konsole in eine Variable speichern kann? Ich brauche das Speziell für die Funktion system(). Falls jemand eine alternative Funktion zur system Funktion kennt, die das Ergebnis nicht ausgibt sondern als Rückgabewert liefert wäre das auch ok. Allerdings wäre ersteres besser.
    MfG
    Dr.ChAoS

  2. #2
    Michelangelo Virus
    Registriert seit
    14.06.2007
    Beiträge
    282
    Write the code correctly and it will compile

  3. #3
    Fortgeschrittener
    Registriert seit
    14.12.2007
    Beiträge
    45

    Standard

    Ich verstehe nicht so ganz was du meinst.
    Meinst du jetzt, dass wenn du eine Variable z.B. 'i' hast und die ausgegeben wird, dass dieser Wert dann nacher einer neuen Variable zugewiesen wird?

    mfg



  4. #4

    Standard

    Nein, er meint wenn er z.B. system("ping www.n00bor.6x.to") schreibt, will er die Bildschirmausgabe in einer Variable haben.
    Sprich das:
    Code:
    Ping www.n00b0r.de [81.169.145.75] mit 32 Bytes Daten:
    
    Antwort von 81.169.145.75: Bytes=32 Zeit=53ms TTL=246
    Antwort von 81.169.145.75: Bytes=32 Zeit=52ms TTL=246
    Antwort von 81.169.145.75: Bytes=32 Zeit=54ms TTL=246
    Antwort von 81.169.145.75: Bytes=32 Zeit=53ms TTL=246
    
    Ping-Statistik f?ür 81.169.145.75:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0 (0% Verlust),
    Ca. Zeitangaben in Millisek.:
    Minimum = 52ms, Maximum = 54ms, Mittelwert = 53ms
    Danke.
    .::free-hack::.

  5. #5
    W32.FunLove
    Registriert seit
    22.05.2007
    Beiträge
    125

    Standard

    @n00bor
    Stimmt, genau das meine ich.

    @zao
    Ich denke dass das das richtige ist, aber ich verstehe diese Funktion leider nicht so ganz. Ich habe mir auch mal den Beispiel Source angeschaut. Der scheint soweit ja zu funktionieren, aber ich verstehe nicht wie ich das dann letztendlich in eine Variable speichern soll bzw kann.

  6. #6
    CIH-Virus Avatar von -[RiDER]-
    Registriert seit
    05.01.2007
    Beiträge
    496

    Standard

    Hi

    Zur Kommunikation zwischen zwei Programmen sind Pipes ganz gut.

    Joar... says all...

    GreetZ RiDER

  7. #7
    W32.FunLove
    Registriert seit
    22.05.2007
    Beiträge
    125

    Standard

    Ne, ich will nicht zwischen 2 Programmen Kommunizieren, sondern die Konsolenausgabe einer Funktion im selben Programm in eine Variable schreiben.

    Hier ein Beispiel:
    Code:
    #include <sdtio.h>
    #include <stdlib.h>
    
    int main(){
    char str[256];
    str=system("dir");
    //Die Konsolenausgabe von system ist jetzt in der Variable str gespeichert.
    return 0;
    }
    So stelle ich mir das vor. Aber so geht das ja leider nicht, da system keine Rückgabe macht. Ich brauche aber eine.
    MfG

  8. #8
    CIH-Virus Avatar von -[RiDER]-
    Registriert seit
    05.01.2007
    Beiträge
    496

    Standard

    Hi
    Ja, genau dafür sind Pipes da

    Dein Programm:
    Code:
    #include <stdio.h>
    
    int main(void)
    {
      char str[1024];
      gets(str);
    }
    Das Programm rufst du dann mit dein_programm | dir auf und hast die Ausgabe von dir in der Variable str.
    Thats all!

    Ich weiß nicht, ob es unter Windows auch möglich ist, die Ausgabe eines Programms als Parameter an das Programm zu übergeben (unter Unix-Systemen mit dein_programm `ls`, dann befindet sich die Ausgabe von ls in argv[1]).

    GreetZ RiDER

  9. #9
    W32.FunLove
    Registriert seit
    22.05.2007
    Beiträge
    125

    Standard

    Ich habe dein Beispiel unter Windows getestet und es funktioniert leider nicht.
    Auch mit argv[1] klappt es nicht.

    Aber ich glaube ich muss genauer sagen warum ich das machen will.
    Also es geht um ein Programm das ich über ein Webinterface steuere und die Ausgabe der jeweiligen Befehle zurück zum Interface senden möchte.
    Desshalb ist es auch wichtig dass alles in einem einzelnen Programm stattfindet. Gibt es vielleicht eine Alternative zu der System Funktion?
    Aber danke schonmal für die Hilfe bis jetzt.
    MfG
    Dr.ChAoS

  10. #10
    CIH-Virus Avatar von -[RiDER]-
    Registriert seit
    05.01.2007
    Beiträge
    496

    Standard

    Sorry.

    Du musst dir | dein_programm machen.

    GreetZ RiDER

    EDiT: Kannst du den Code beider Programme bearbeiten?

Seite 1 von 2 12 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •