Ich habe ein Programm geschrieben, um die Ausgabe des "Traceroute" -Befehls zu drucken, die auf dem Linux-Terminal ausgeführt wird. Hier ist der Code:Wie bearbeite ich eine Textdatei in C, die mit einem Systembefehl erstellt wurde?
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
#include "SourceIP.c"
#include "RandomTraceroute.c"
#include "Time.c"
int main()
{
unsigned char sourceIP[15];
source(sourceIP);
printf("%s\n",sourceIP);
unsigned char destIP[15];
randIP(destIP);
printf("%s\n",destIP);
char buff[100];
timestamp(buff);
printf ("%s\n", buff);
char buf[BUFSIZ];
snprintf(buf, sizeof(buf),"traceroute -q 1 %s >output.txt",destIP);
system(buf);
return 0;
}
Die Aufgabe ist es, diese ersten drei printf Linien wie die ersten drei Zeilen der output.txt Datei zu drucken, indem die bestehende erste Zeile der Textdatei zu entfernen. Kann jemand eine Antwort darauf vorschlagen? (Bitte beachten Sie über die Zeit Komplexität des Codes auch)
'#include "SourceIP.c" #include "RandomTraceroute.c" # include "Time.c" '... hmmm .. braucht ein gutes C-Buch, –
Vielleicht willst du' popen() '? – wildplasser
Benötigt auch einen Mystiker. –