Hi.
Bei dem unten stehenden Programm habe ich ein Problem.
Die While-Schleife scheint mehrfach durchzulaufen.
ich habe eine Datei mit 3 Clients angelegt.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define HOSTLISTE "hostliste.txt"
void sendping(char * horst,char * ausgabe);
int main(int argc, char *argv[])
{
//system("@echo off");
//Variablen
FILE * hostliste;
char host[20];
char systemout[40];
int rwert;
//Datei mit Hostliste öffnen
hostliste=fopen(HOSTLISTE,"r");
if(hostliste==NULL)
printf("Fehler beim öffnen der Datei");
else{
while(!feof(hostliste)){
fscanf(hostliste,"%s\n",host);
sendping(host,systemout);
rwert=system(systemout);
if(rwert==0)
printf("%s ist ERREICHBAR\n",host);
else
printf("%s ist NICHT ERREICHBAR\n",host);
}
fclose(hostliste);
}
system("PAUSE");
return 0;
}
void sendping(char * horst,char * ausgabe){
strcpy(ausgabe,"ping ");
strcat(ausgabe,horst);
strcat(ausgabe," -n 1");
}
Die Ausgabe sieht so aus:
client1 ist NICHT ERREICHBAR
client2 ist NICHT ERREICHBAR
client3 ist NICHT ERREICHBAR
client1 ist ERREICHBAR
client1 ist NICHT ERREICHBAR
client2 ist NICHT ERREICHBAR
client3 ist NICHT ERREICHBAR
client2 ist ERREICHBAR
client1 ist NICHT ERREICHBAR
client2 ist NICHT ERREICHBAR
client3 ist NICHT ERREICHBAR
client3 ist ERREICHBAR
Drücken Sie eine beliebige Taste . . .
client1 ist ERREICHBAR
client1 ist NICHT ERREICHBAR
client2 ist NICHT ERREICHBAR
client3 ist NICHT ERREICHBAR
client1 ist ERREICHBAR
client1 ist NICHT ERREICHBAR
client2 ist NICHT ERREICHBAR
client3 ist NICHT ERREICHBAR
Was ist da verkehrt?
nach system("pause") dürfte das Programm ja nicht nochmal durchlaufen.
Kann mir da einer helfen?
Gruß
Andre