Tom's Guide > Forum > Programmation > [C] problème de navigation dans un fichier.

[C] problème de navigation dans un fichier.

Forum Programmation : [C] problème de navigation dans un fichier.

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour tout le monde. Alors voilà je débute en C et j'essai de faire un petit jeu. la map est composée de cases (des surfaces) que je mets avec une boucle while. (cette boucle lit en fait un fichier caractere par caractere et associe une image a chacun d'entre eux. ex: f -> forêt.bmp)

bon voila le probleme c'est que je voudrais connaitre le caractere d'en dessous a chaque fois.

pour cela je cacul la largeur du fichier au début grace a

Code :
  1. while(caractereActuel !=  '\n')
  2. {
  3.     largeur ++;
  4. }



apres mon but est en fait que lorsque je veux connaitre le caractere d'en dessous, j'avance dans le fichier de "largeur" (comme ca je me retrouve sur la ligne du dessous). jusque la ca va, je récupère le caractere appelé caractereDessous.

le problème arrive lorsque je veux remonter (bah vi parceque sinon je vais rater plein de cases). je fais

Code :
  1. fseek(fichierMap, - largeur, SEEK_CUR);
  2. fseek(fichierMap, -1, SEEK_CUR);



le premier fonctionne, mais apres je fois encore recouler d'un parceque j'ai avancé d'un lorsque j'ai lu le caractereDessous. et la a partir du moment ou je recule encore d'un ca me met une fenetre qui se ferme tout de suite. et pas de messages dans stderr.

j'espere avoir été clair et merci d'avance.

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

il faut penser au caractère '\n' pour le recul du curseur. Mais ne fait qu'un seul fseek() en mettant la bonne largeur.
Peut-être que dans un cas tu sors du fichier.

Répondre à CRicky
Tom's Guide > Forum > Programmation > [C] problème de navigation dans un fichier.
Aller à :

Il y a 948 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens