whats wrong ?? :))

0

Witam :)) mógłby mi ktoś powiedzieć co tutaj zrobiłem źle, tj chodzi mi czemu funkcja fprintf() nie robi wpisu do pliku wskaznego w argv[1] :))

[code]
while(1) {
rzm = sizeof(addr);
odbior = recvfrom(gnz,&packet,sizeof(packet),0,(struct sockaddr *)&addr,&rzm);

	icmp = &packet.icmph;
	printf("[ ping ] from: %s\n", inet_ntoa(addr.sin_addr.s_addr));
	plik = fopen(argv[1],"a"); 
	fprintf(plik,"[ ping ] from %s\n",inet_ntoa(addr.sin_addr.s_addr));
	}
fclose(plik);

[/code]

Pozdro, jgr :))

0

Daj lepiej "a+" w fopen i sprawdz czy pojdzie. Jak nie to zobacz jeszzce czy w ogóle tworzy plik.

0

coz dalej nie dziala :(, jakies inne pomysły ? :))

pozdro jgr :)

0

po pierwsze zrób :
printf("%s",argv[1]);
i powiedz co wyświetla
po drugie sprawdź jaką wartość ma zmienna plik ( czy na pewno ma różną od NULL ) .

0

:))
[code]
if( plik != NULL ) {
plik = fopen(argv[1],"a");
fprintf(plik,"[ ping ] from %s\n",inet_ntoa(addr.sin_addr.s_addr));
fclose(plik);
}
[/code]

zrobiłem tak jak wyżej pisze i juz mi wszystko działa ,thx za pomoc :))

1 użytkowników online, w tym zalogowanych: 0, gości: 1