Hvordan kan jeg bruge netstat -a

Tags:    c++ grafik

Hej hvordan kan jeg lave et program hvor der er en variabel der hedder normal og den skal indeholde noget og så en if setning hvor den sammen ligner det der kommer frem når man skriver system("netstat -a"); med det der er i variablen normal og hvis det ikke er det samme skriver programmet noget på skærmen og hvis det er det samme afslutter programmet.

Håber i kan hjælpe.

Hilsen Shakoo :-)



6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Du kan bruge C, i dine C++ programmer...
men du kan ikke bruge C++ i dine C programmer
Hilsen Chadi
Mit lykketal er 2959



Hej hvordan kan jeg lave et program hvor der er en variabel der hedder normal og den skal indeholde noget og så en if setning hvor den sammen ligner det der kommer frem når man skriver system("netstat -a"); med det der er i variablen normal og hvis det ikke er det samme skriver programmet noget på skærmen og hvis det er det samme afslutter programmet.

Du kalder netstat med popen(...), samtidig får du en pointer til en "fil" hvorfra du kan læse output fra netstat, det kan gøres med fgets(...).
Du kan parse de enkelte linier med strstr(...)/strtok(...)/strcmp(...)/strchr(...) eller hvad der nu måtte passe.

Du udskriver på skærmen med printf(...).

Hvis du fortæller lidt mere om hvad det er du vil finde i outputtet, kan det godt være at jeg kan lave et lille eksempel.

(Dette er mit første indlæg på udvikleren.)



De c++ koder du bruger kender jeg slet ikke når jeg skal lave output så bruger jeg cout << "meddelse"; men hvad er det for noget du laver er der to slags c++ eller hvad???



De c++ koder du bruger kender jeg slet ikke når jeg skal lave output så bruger jeg cout << "meddelse"; men hvad er det for noget du laver er der to slags c++ eller hvad???

han bruger c ikke c++ du skal erstatte nogle enkelte ting som printf med cout og så bruger printf parantesser og ikke <<



Et lille program der udskriver alle linier fra netstat -a der indeholder teksten ESTABLISHED.

#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <string.h>

using namespace std;

int main(void)
{
FILE *f = popen("netstat -a", "r");
if(!f)
{
cout << "Failed to create process" << endl;
return EXIT_FAILURE;
}
char line[1024];
while(fgets(line, sizeof(line), f))
{
char *s;
if((s = strchr(line, '\\n')) != 0)
*s = 0;

if(strstr(line, "ESTABLISHED"))
cout << line << endl;
}
fclose(f);
return EXIT_SUCCESS;
}



Kan man bruge c og c++ sammen i sine programmer????



t