Lecture et séléection dans un fichier txt

Fermé
nisay27 Messages postés 1 Date d'inscription mercredi 29 juillet 2015 Statut Membre Dernière intervention 29 juillet 2015 - 29 juil. 2015 à 12:09
chris79 Messages postés 97 Date d'inscription lundi 3 octobre 2005 Statut Membre Dernière intervention 1 février 2016 - 7 août 2015 à 21:04
Bonjour atous et toute;

J'ai un petit problème sur un programme et par manque de solution je n'arrive pas a me débloquer.

int main()
{

struct applications tab[1000];
int n=0;
int i=0;
struct applications applications = {"jean", "pierre", "paul","jack"};


FILE*batch;
batch=fopen("D:\\Users\\U00I346\\Desktop\\Ordonnancement\\ordonnancement\\batch_loader.txt","r");

FILE*extract;
extract=fopen("D:\\Users\\U00I346\\Desktop\\Ordonnancement\\ordonnancement\\extract.txt","w");
/****************************Test de lecture fichier*****************************************/

if (batch==NULL)
{
fputs("erreur a l'ouverture du fichier\n",stderr);
return EXIT_FAILURE;
}
/***************************Retour nombre de ligne du Batch loader***************************/

/*while(fgets(ligne_lue, 512, batch) != NULL){
printf("\t%s", ligne_lue);
nb_lignes++;
}printf("le fichier comporte %d lignes\n", nb_lignes);

fclose(batch),batch=NULL;*/
/**************************Tests & Ecriture dans les structures******************************/
n=cpteLignes;
for(i=0;i<n;i++)
{
fscanf(batch,"%s",&ligne_lue);
if(strcmp(ligne_lue,tableau1)==0)
{
i++;
scanf("%s", &tab[i].id);
break;
}

if (strcmp(ligne_lue,tableau)==0)
{

}
}
printf("%s", tab[i].id);
fclose(batch),batch=NULL;
return 0;
}
}

<code c>
Bonjour atous et toute;

J'ai un petit problème sur un programme et par manque de solution je n'arrive pas a me débloquer.

int main()
{

struct applications tab[1000];
int n=0;
int i=0;
struct applications applications = {"jean", "pierre", "paul","jack"};


FILE*batch;
batch=fopen("D:\\Users\\xxx\\xxxr\\loader.txt","r");
/**********Test de lecture fichier*************************/

if (batch==NULL)
{
fputs("erreur a l'ouverture du fichier\n",stderr);
return EXIT_FAILURE;
}
/**********Retour nombre de ligne du Batch loader****************/

/*while(fgets(ligne_lue, 512, batch) != NULL){
printf("\t%s", ligne_lue);
nb_lignes++;
}printf("le fichier comporte %d lignes\n", nb_lignes);

fclose(batch),batch=NULL;*/
/********Tests & Ecriture dans les structures***************/
n=cpteLignes;
for(i=0;i<n;i++)
{
fscanf(batch,"%s",&ligne_lue);
if(strcmp(ligne_lue,tableau1)==0)
{
i++;
scanf("%s", &tab[i].id);
break;
}

}
printf("%s", tab[i].id);
fclose(batch),batch=NULL;
return 0;
}
}</code>

Après la lecture du text dans fscanf , je fais un test avec une chaine de caractère prèenregistré.C'est la que je sais que mon bloc d'information commence.De ce bloc, je souhaite sélectionner quelques informations ue je vais organisé sous forme de structure C. Mais quelle commande permettrait de prendre ses informations après le test?
A voir également:

1 réponse

chris79 Messages postés 97 Date d'inscription lundi 3 octobre 2005 Statut Membre Dernière intervention 1 février 2016 25
7 août 2015 à 21:04
Salut,

Il va falloir que tu sois un peu plus clair :)

Si je comprends bien tu souhaites :
- Ouvrir un fichier
- Y chercher une balise qui délimite le commencement de ton "bloc d'informations"
- Parcourir ce bloc afin d'y récupérer diverses informations pour ensuite les ranger dans une structure ?

Un extrait de ton fichier batch_loader.txt aiderait aussi.

Tu postes un code qui certes ne compile pas mais surtout qui utilise des variables, structures non définies...ça n'aide pas beaucoup pour la compréhension ;)

++
0