Fichiers et langage C
dool
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
bonjour
j aimerais savoir s il est possible de lire dans un fichier en C sans avoir besoin de boucle
je m explique
j aimerais enregistrer dans un fichier des donnees variées, puis pouvoir les charger
le probleme c (hehe) que j ai l impression qu on ne peut pas faire plusieurs fscanf sur le mm fichier
si qq un a une solution...
merci
A+
j aimerais savoir s il est possible de lire dans un fichier en C sans avoir besoin de boucle
je m explique
j aimerais enregistrer dans un fichier des donnees variées, puis pouvoir les charger
le probleme c (hehe) que j ai l impression qu on ne peut pas faire plusieurs fscanf sur le mm fichier
si qq un a une solution...
merci
A+
A voir également:
- Fichiers et langage C
- Langage ascii - Guide
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
- Langage binaire - Guide
- Wetransfer gratuit fichiers lourd - Guide
6 réponses
Bjour,
Y'a plein de façon de les lire les fichiers en C, moi jte propose l'exemple suivant avec une boucle malheureusement pour toi... je ne pense pas que ça existe sans :
fichier=open(nom,O_RDWR);
lu=read(fichier,&buffer,sizeof(buffer));
while(lu!=0)
{
lu=read(fichier,&buffer,sizeof(buffer));
}
close(fichier);
j'espère que ça pourra t'aider
Y'a plein de façon de les lire les fichiers en C, moi jte propose l'exemple suivant avec une boucle malheureusement pour toi... je ne pense pas que ça existe sans :
fichier=open(nom,O_RDWR);
lu=read(fichier,&buffer,sizeof(buffer));
while(lu!=0)
{
lu=read(fichier,&buffer,sizeof(buffer));
}
close(fichier);
j'espère que ça pourra t'aider
j ai du mal...
pour que ce soit + clair
voici les donnees sauvegardees
/*sauvegarde des joueurs*/
fichier = fopen(NomFichier,"w");
fprintf(fichier,"%s\n",sJoueur1);
fprintf(fichier,"%s\n",sJoueur2);
fprintf(fichier,"%s\n",sJoueurc);
/*sauvegarde du nb de tour*/
fprintf(fichier,"%d\n",iTour);
/*sauvegarde de l'echiquier*/
for(i=1;i<9;i++)
{
for(j=1;j<9;j++)
{
temp=echiquier[i][j];
fprintf(fichier,"%c %d %d %d %d %d\n",temp.cNom,temp.iJoueur,temp.bAxial,temp.bDiago,temp.bBouge,temp.iEchec);
}
}
/*sauvegarde des cimetieres*/
for(i=0;i<16;i++)
{
temp=cimetiere_blanc[i];
fprintf(fichier,"%c %d %d %d %d %d\n",temp.cNom,temp.iJoueur,temp.bAxial,temp.bDiago,temp.bBouge,temp.iEchec);
}
for(i=0;i<16;i++)
{
temp=cimetiere_noir[i];
fprintf(fichier,"%c %d %d %d %d %d\n",temp.cNom,temp.iJoueur,temp.bAxial,temp.bDiago,temp.bBouge,temp.iEchec);
}
fclose(fichier);
printf("oOo\t La partie est sauvegardee dans le fichier %s\toOo\n",NomFichier);
pour que ce soit + clair
voici les donnees sauvegardees
/*sauvegarde des joueurs*/
fichier = fopen(NomFichier,"w");
fprintf(fichier,"%s\n",sJoueur1);
fprintf(fichier,"%s\n",sJoueur2);
fprintf(fichier,"%s\n",sJoueurc);
/*sauvegarde du nb de tour*/
fprintf(fichier,"%d\n",iTour);
/*sauvegarde de l'echiquier*/
for(i=1;i<9;i++)
{
for(j=1;j<9;j++)
{
temp=echiquier[i][j];
fprintf(fichier,"%c %d %d %d %d %d\n",temp.cNom,temp.iJoueur,temp.bAxial,temp.bDiago,temp.bBouge,temp.iEchec);
}
}
/*sauvegarde des cimetieres*/
for(i=0;i<16;i++)
{
temp=cimetiere_blanc[i];
fprintf(fichier,"%c %d %d %d %d %d\n",temp.cNom,temp.iJoueur,temp.bAxial,temp.bDiago,temp.bBouge,temp.iEchec);
}
for(i=0;i<16;i++)
{
temp=cimetiere_noir[i];
fprintf(fichier,"%c %d %d %d %d %d\n",temp.cNom,temp.iJoueur,temp.bAxial,temp.bDiago,temp.bBouge,temp.iEchec);
}
fclose(fichier);
printf("oOo\t La partie est sauvegardee dans le fichier %s\toOo\n",NomFichier);
le pb c ke j essaie d abord de lire des char (pas de pb) mais ensuite des int puis des structures composées de int et char
tu crois que je peux tt mettre ds le mm fichier
ou dois je faire des fichiers séparés?
tu crois que je peux tt mettre ds le mm fichier
ou dois je faire des fichiers séparés?
pour que ce soit + clair
voici les éléments sauvegardés
/*sauvegarde des joueurs*/
fichier = fopen(NomFichier,"w");
fprintf(fichier,"%s\n",sJoueur1);
fprintf(fichier,"%s\n",sJoueur2);
fprintf(fichier,"%s\n",sJoueurc);
/*sauvegarde du nb de tour*/
fprintf(fichier,"%d\n",iTour);
/*sauvegarde de l'echiquier*/
for(i=1;i<9;i++)
{
for(j=1;j<9;j++)
{
temp=echiquier[i][j];
fprintf(fichier,"%c %d %d %d %d %d\n",temp.cNom,temp.iJoueur,temp.bAxial,temp.bDiago,temp.bBouge,temp.iEchec);
}
}
/*sauvegarde des cimetieres*/
for(i=0;i<16;i++)
{
temp=cimetiere_blanc[i];
fprintf(fichier,"%c %d %d %d %d %d\n",temp.cNom,temp.iJoueur,temp.bAxial,temp.bDiago,temp.bBouge,temp.iEchec);
}
for(i=0;i<16;i++)
{
temp=cimetiere_noir[i];
fprintf(fichier,"%c %d %d %d %d %d\n",temp.cNom,temp.iJoueur,temp.bAxial,temp.bDiago,temp.bBouge,temp.iEchec);
}
fclose(fichier);
printf("oOo\t La partie est sauvegardee dans le fichier %s\toOo\n",NomFichier);
voici les éléments sauvegardés
/*sauvegarde des joueurs*/
fichier = fopen(NomFichier,"w");
fprintf(fichier,"%s\n",sJoueur1);
fprintf(fichier,"%s\n",sJoueur2);
fprintf(fichier,"%s\n",sJoueurc);
/*sauvegarde du nb de tour*/
fprintf(fichier,"%d\n",iTour);
/*sauvegarde de l'echiquier*/
for(i=1;i<9;i++)
{
for(j=1;j<9;j++)
{
temp=echiquier[i][j];
fprintf(fichier,"%c %d %d %d %d %d\n",temp.cNom,temp.iJoueur,temp.bAxial,temp.bDiago,temp.bBouge,temp.iEchec);
}
}
/*sauvegarde des cimetieres*/
for(i=0;i<16;i++)
{
temp=cimetiere_blanc[i];
fprintf(fichier,"%c %d %d %d %d %d\n",temp.cNom,temp.iJoueur,temp.bAxial,temp.bDiago,temp.bBouge,temp.iEchec);
}
for(i=0;i<16;i++)
{
temp=cimetiere_noir[i];
fprintf(fichier,"%c %d %d %d %d %d\n",temp.cNom,temp.iJoueur,temp.bAxial,temp.bDiago,temp.bBouge,temp.iEchec);
}
fclose(fichier);
printf("oOo\t La partie est sauvegardee dans le fichier %s\toOo\n",NomFichier);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
slt, je veux faire un programme en langage C qui met en ordre alphabetique les élèments d'un fichier, pouvez vous m'aider?
Et le post remonte à 2004...