1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| #include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(void)
{
char ligne[128] ;
char key[128] ;
char value[128] ;
FILE * fichier ;
fichier = fopen ("test.txt" , "rb" ) ;
if (fichier == NULL)
return 0;
while ( fgets(ligne,128,fichier) != NULL )
{
char * position_token ;
char * cherche_caractere ;
/* on supprime \r et/ou \n */
cherche_caractere = strchr(ligne , '\r');
if (cherche_caractere != NULL)
*cherche_caractere = '\0' ;
cherche_caractere = strchr(ligne , '\n');
if (cherche_caractere != NULL)
*cherche_caractere = '\0' ;
key[0] = '\0' ;
value[0] = '\0' ;
position_token = strtok(ligne , " "); /* on cherche le premier token ("key") */
if ( position_token != NULL ) /* si c'est OK... */
{
strncpy(key,position_token,128) ; /* on le copie dans "key" */
position_token = position_token + strlen(key) + 1 ; /* on se positionne après le premier token */
while ( *position_token && isspace(*position_token) ) /* on vire tous les espaces éventuels entre "key" et "value" */
position_token++;
strncpy(value,position_token,128); /* on copie ce qui reste dans "value" */
}
if (*key && *value) /* on affiche si les deux chaines sont remplies */
{
printf("key : %s\n" , key);
printf("value : %s\n\n" , value);
}
}
fclose(fichier);
return 0;
} |
Partager