|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Registered User
Iscritto dal: Jun 2004
Messaggi: 47
|
[C] file di testo
dato un file di testo del tipo:
64 bytes from 10.1.2.202: icmp_seq=1 ttl=126 time=9.0 ms 64 bytes from 10.1.2.202: icmp_seq=2 ttl=126 time=9.6 ms 64 bytes from 10.1.2.202: icmp_seq=3 ttl=126 time=10.0 ms 64 bytes from 10.1.2.202: icmp_seq=4 ttl=126 time=10.4 ms 64 bytes from 10.1.2.202: icmp_seq=5 ttl=126 time=10.7 ms 64 bytes from 10.1.2.202: icmp_seq=6 ttl=126 time=11.1 ms 64 bytes from 10.1.2.202: icmp_seq=7 ttl=126 time=7.4 ms 64 bytes from 10.1.2.202: icmp_seq=8 ttl=126 time=7.0 ms 64 bytes from 10.1.2.202: icmp_seq=9 ttl=126 time=7.1 ms 64 bytes from 10.1.2.202: icmp_seq=10 ttl=126 time=7.0 ms 64 bytes from 10.1.2.202: icmp_seq=11 ttl=126 time=7.8 ms 64 bytes from 10.1.2.202: icmp_seq=12 ttl=126 time=8.4 ms 64 bytes from 10.1.2.202: icmp_seq=13 ttl=126 time=9.1 ms 64 bytes from 10.1.2.202: icmp_seq=14 ttl=126 time=9.7 ms 64 bytes from 10.1.2.202: icmp_seq=15 ttl=126 time=10.4 ms 64 bytes from 10.1.2.202: icmp_seq=16 ttl=126 time=10.9 ms 64 bytes from 10.1.2.202: icmp_seq=17 ttl=126 time=7.3 ms 64 bytes from 10.1.2.202: icmp_seq=18 ttl=126 time=7.9 ms 64 bytes from 10.1.2.202: icmp_seq=19 ttl=126 time=8.5 ms 64 bytes from 10.1.2.202: icmp_seq=20 ttl=126 time=8.9 ms 64 bytes from 10.1.2.202: icmp_seq=21 ttl=126 time=9.3 ms 64 bytes from 10.1.2.202: icmp_seq=22 ttl=126 time=18.2 ms vorrei attraverso un programmino in C ottenere un altro file di testo contenente un elenco di valori pescati uno dopo l'altro dal campo time del tipo: 9 9,6 10 10,4 10,7 11,1 ... soluzioni? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2001
Città: Lugo (Ra)
Messaggi: 382
|
con fscanf memorizzi solo %d.%d di quello che ti serve (in questo caso time)
__________________
Matteo |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Codice:
#include <stdlib.h> #include <stdio.h> #include <string.h> int main(int argc, char **argv) { FILE *f; char *pos; char line[256]; double time; if(argc!=2) { fprintf(stderr, "%s <filename>\n", argv[0]); return -1; } f = fopen(argv[1], "rb"); if(!f) { perror("fopen"); return -1; } line[sizeof(line)-1] = '\0'; while(fgets(line, sizeof(line)-1, f)) { pos = strstr(line, "time="); if(!pos) continue; pos += strlen("time="); time = atof(pos); printf("%.1f\n", time); } fclose(f); return 0; }
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 Ultima modifica di ilsensine : 20-12-2004 alle 13:28. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:21.