Probleme en langage C - URGENT!!!!!

cs_mazo0012 Messages postés 8 Date d'inscription samedi 12 octobre 2002 Statut Membre Dernière intervention 8 février 2004 - 26 janv. 2004 à 18:42
cs_alain34270 Messages postés 85 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 18 septembre 2005 - 26 janv. 2004 à 19:32
bonjour
jai un gros pb en C, si quelq'un pouvait m'aider apidement je commence a devenir dingue!!!!!!

jexplike:
tout simplement, j'essaye de saisir le chiffre 26 dan un fichier d'integer, ca ne fonctionne pas. Nimporte kel autre chiffre rentre, sauf celui la, et g bo reflechir je comprends pas!

si quelqu'un connait la reponse, merci de m'aider!

voici le code, au cas ou il yorai un bug:

#include <stdio.h>

main()
{

FILE * fichier;

struct {
int jourrdv;
} date ;

saisie:
fichier=fopen("ficdate", "a");
scanf("%d", &date.jourrdv);

fwrite(&date, sizeof(date), 1, fichier);
fclose(fichier);

printf("\navant\n");

fichier=fopen("ficdate", "r");
fread(&date, sizeof(date), 1, fichier);

while(!feof(fichier))
{
printf("fic:%d\n", date.jourrdv);

fread(&date, sizeof(date), 1, fichier);
}
fclose(fichier);

printf("\napres\n");

goto saisie;
}

5 réponses

cs_alain34270 Messages postés 85 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 18 septembre 2005
26 janv. 2004 à 19:24
Salut,

Comme tu entres autre chose que du texte dans ton fichier,
tu dois l'ouvrir en mode binaire.

Remplaces donc "a" par "ab", et "r" par "rb" lors des ouvertures de tes fichiers, et ça devrait fonctionner...

a+

alain
0
cs_alain34270 Messages postés 85 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 18 septembre 2005
26 janv. 2004 à 19:26
j'ai oublié de te dire : 26 doit correspondre à EOF, et c'est donc pour cela que la lecture s'arrête (je ne suis pas sûr, mais, enfin, il y a de fortes chances pour que ce soit ça, à mon avis)

a+
alain
0
cs_mazo0012 Messages postés 8 Date d'inscription samedi 12 octobre 2002 Statut Membre Dernière intervention 8 février 2004
26 janv. 2004 à 19:29
T UN BOSS CA MARCHE !!!!!!!!!!!!!!!!

mais uen kestion: est ce ek tu sai pk ca ne ùmarchai pas juste le chiffre 26?

merci beaucoup, jte revaudrait ca si jen ai loccasion!

@+++
0
cs_mazo0012 Messages postés 8 Date d'inscription samedi 12 octobre 2002 Statut Membre Dernière intervention 8 février 2004
26 janv. 2004 à 19:31
oui c ossi ce ek je pensais car apres des ke je saisissais 26, ca blokait lecriture dans le fichier, en tout cas merci beaucoup et a bientot
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_alain34270 Messages postés 85 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 18 septembre 2005
26 janv. 2004 à 19:32
parce que 26 doit être le code de fin de fichier (EOF)...

Content d'avoir pu te rendre service.
a+
alain
0
Rejoignez-nous