Problème de lecture fichier C

Fermé
nicolay1 Messages postés 145 Date d'inscription mardi 22 février 2011 Statut Membre Dernière intervention 21 juin 2012 - 26 mars 2012 à 16:57
0kid0ki Messages postés 174 Date d'inscription mercredi 18 janvier 2012 Statut Membre Dernière intervention 6 mars 2014 - 26 mars 2012 à 19:31
Bonjour,

J'ai un ptit problème avec ce code :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    int level=1;
    char nom[12]="level";
    char tab[250];
    char caractere='z';
    if(level<10)
    {
    nom[5]=48+level;
    nom[6]='.';
    nom[7]='l';
    nom[8]='v';
    nom[9]='l';
    nom[10]='\0';
    }
    if(level>10)
    {
        nom[5]=48+(int)(level/10);
        nom[6]=48+(level-(int)(level/10)*10);
        nom[7]='.';
        nom[8]='l';
        nom[9]='v';
        nom[10]='l';
        nom[11]='\0';
    }
    printf("%s",nom);
    FILE *fichier=NULL;
    fichier=fopen(nom,"r");
    printf("\n%c", caractere);
    caractere=fgetc(fichier); // On lit maximum TAILLE_MAX caractères du fichier, on stocke le tout dans "chaine"
    printf("\n%c", caractere); // On affiche la chaîne
    fclose(fichier);
    printf("%s",tab);
    return 0;
}


ce code est sensé retourné le contenu du fichier level1.lvl
le fichier s'ouvre, c'est certain, mais la fonction fgetc(FILE*) bug, elle ne renvoie rien :/ tout comme la fonction fgets(char * tab, int tailleMax, FILE*) et je ne sais pas pourquoi :/ quelqu'un aurait une idée ?
fichier level1.lvl :
111111111111100000000001102000000001100000005001100005000401100000000001100030000001100000002001100200000001100000030001100000000401111111111111

Mici ^^

A voir également:

1 réponse

0kid0ki Messages postés 174 Date d'inscription mercredi 18 janvier 2012 Statut Membre Dernière intervention 6 mars 2014 8
26 mars 2012 à 19:31
Bonjour,
tout d'abord je ne comprends pas pourquoi tu fais :
printf("\n%c", caractere);
Avant de lui assigné la première valeur du fichier.

ensuite pourquoi est ce que tu parles de fgets il n'y en a pas un dans ton programme.

et puis WTF ??...
caractere=fgetc(fichier); // On lit maximum TAILLE_MAX caractères du fichier, on stocke le tout dans "chaine"


revoie ton code ou ton copie collé parce que la il y a plus que les pbs sur tes fget_();

Note a Benêt :
une lecture de fichier c'est très sujet aux erreurs donc normalement il faut adopté un systéme d'écriture bien différent de celle que tu utilise :

FILE *truc;
truc = fopen(...);
if (truc == NULL)
{
      printf ("impossible de lire le fichier !\n")
      system ("pause") ;
}
else
{
      lecture (truc,...) ;
      if ('test pour voir si la lecture à réussi') idem que le if précédent;
      fclose (truc) ;
}
0