netstat -n ausgeben?
-
Hi!
Wenn du sowas machen willst und dir das lesen einer Datei zu anstrengend ist (und das bei wenns hoch kommt 6 Zeilen Code) verwende eine Bibliothek. Ansonsten geben sämtliche Programme soweit ich weiß die soetwas tun, nur den Exit-Code des aufgerufenen Prozesses zurück, was auch gut so ist, wenn nämlich nicht, könnte man nichtmal feststellen ob die Anwendung fehlerfrei oder nicht beendet wurde, was oft doch wichtiger ist.
Code-Hacker
-
Bei Windows gibts CreateProcess() und bei Unix popen(). Dann kann man die Ausgabe direkt über eine Pipe einlesen.
-
@Greenthumb: Wenn er sich Pipe-Wissen anlegen darf, hat er die Dateiverwaltung auch schon kapiert
MfG SideWinder
-
Joa
hab das jetzt mal probiert mit der textdatei, aber da ist ein Fehler drin#include <iostream> #include <conio.h> using namespace std; int main(){ system("netstat -n > puffer.txt"); string line; ifstream file ("puffer.txt"); while(getline(cin,line)) { cout << line << endl; } file.close(); getch(); return 0; }
ausserdem mag ich das net so, sachen einfach abzuschreiben ohne zu wissen was da jetzt genau geschieht
kann mir bitte jemand helfen?
-
Das hat ja dann wohl nichts mehr mit ANSI C zu tun.
-
Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum DOS und Win32-Konsole verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
och kann bzw. will mir keiner helfen?
-
Was für ein Fehler ist denn drin? Bringt der Compiler einen Fehler oder der Linker? Oder gibt das Programm nicht das aus, was es soll?
Es ist etwas schwierig dir zu helfen, wenn man keinen konkreten Hinweis auf den Fehler bekommt.
Was genau geschieht kann man leicht erklären:
#include <iostream> #include <conio.h> using namespace std; int main() { //netstat -n aufrufen und Ausgabe in Datei puffer.txt speichern system("netstat -n > puffer.txt"); string line; //Datei puffer.txt öffnen ifstream file ("puffer.txt"); //Solange von cin (Standardeingabe) einlesen bis ein Fehler auftritt (bzw. Dateiende) while(getline(cin,line)) { //Eingelesene Zeile am Bildschirm ausgeben cout << line << endl; } //Datei schließen file.close(); //Automatisches Schließen verhindern, wenn man das Programm nicht //in der Konsole ausführt (was man normalerweise tun sollte). getch(); //Rückgabewert (vermutlich mit positiven Ergebnis) return 0; }
Warum liest du eigentlich von der Standardeingabe (cin) ein und nicht von deiner Datei (file)??
-
Ich glaube genau das ist der Fehler AJ
MfG SideWinder
-
ifstream file ("puffer.txt");
in dieser zeile zeigt mir der dev einen fehler... o_O
-
#include <fstream>
MfG SideWinder
-
ah ok danke euch
musste halt noch cin in file ändern
-
hab noch ne kleine frage:
was ist der unterschied zwischen dem datentyp "string" und dem datentyp "char"
wenn ich bei char mehrere zeichen mach, dann muss ich ja eine anzahl hintendran machen...
aber bei string braucht man das anscheinend nicht...
kann man den string datentyp praktisch unendlich groß machen? (also mal abgesehen vom speicher...)