Musaran Cerveaulté | Faciiile !
Code :
- struct record{
- unsigned short ip[4];
- char dateheure[28];
- char url[512];
- }rcd;
- //lire une ligne
- fscanf(fich, "%hi.%hi.%hi.%hi - - [%[^]]] \"%[^\"]\"%*[\n]\n", &rcd.ip[0], &rcd.ip[1], &rcd.ip[2], &rcd.ip[3], rcd.dateheure, rcd.url);
- //%hi //short
- // - - [ //ignorer espace, tiret...
- //%[abc] //chaîne ne pouvant contenir que des a, b, ou c.
- //%[^abc] //chaîne pouvant contenir tout (espace compris), sauf des a, b, ou c.
- //%[^]] //chaîne terminée par ] exclu
- //\" //ignorer un "
- //%[^\"] //chaîne terminée par " exclu
- //%*[\n] //lire jusqu'au retour à la ligne (exclu), sans stocker (*)
- //\n //ignorer un retour à la ligne
|
Avec ça, tu devrais pouvoir affiner les détails.
Sinon, montres la définition de la structure que tu veux remplir.
Si les largeurs sont immuables, on peut aussi jouer du fgets, strchr, strstr, memcpy et '\0'. ---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
|