Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » Ausgabe von Systemaufrufen komplett umleiten!

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
11.10.2006, 16:11 Uhr
~RisingSun
Gast


Vielen herzlichen Dank! Ich denke mit popen komme ich für den Anfang zurecht. Damit habe ich schon eine weile experimentiert, allerdings wusste ich nie recht was ich mit diesem FILE* anfangen soll.... der code ein bisschen modifiziert, dass das (für mich neue) putchar es nicht gleich ausgibt (Kann man das so lassen?):


Code:
#include <iostream>
#include <string>

using namespace std;

int main()
{
        FILE* cmd = popen("route add -net 192.168.1.0 netmask 255.255.255.0 dev ppp1");
        int buf;
        string out;

        while((buf=fgetc(cmd))!=EOF) out += buf ;

//      cout << out << endl;    
        fclose(cmd);
}



so bleibt mir die fehlermeldung erspart!!!!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
13.10.2006, 16:49 Uhr
~Herr Neumann
Gast


Guten Tag!
Ich interessiere mich für die Lösung des Selben Problems! Allerdings kann ich die ausgabe des jeweiligen Programms nicht vernünfig verarbeiten, da ich nicht weiß, wie selbige in ein char-Array umgewandelt werden kann!

Zitat:

$ man fgetc


hat mir leider auch keine nützliche Information geliefert!
Bitte um Hilfe! Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
14.10.2006, 13:42 Uhr
~RisingSun
Gast



Zitat von ~Herr Neumann:
Guten Tag!
Ich interessiere mich für die Lösung des Selben Problems! Allerdings kann ich die ausgabe des jeweiligen Programms nicht vernünfig verarbeiten, da ich nicht weiß, wie selbige in ein char-Array umgewandelt werden kann!

Zitat:

$ man fgetc


hat mir leider auch keine nützliche Information geliefert!
Bitte um Hilfe! Danke



C++:
      FILE* pipe = popen("command", "r");
        int c = 0, i = 0;
        char buffer[512];

        while ((c=fgetc(pipe)) != EOF )
        {
                buffer[i] = c;
                i++;
        }

        fclose (pipe);


Sollte so machbar sein, oder ...... ..... nicht?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: