Bonjours,
je cherche a écrire une fonction qui chargerait le contenu d'un fichier texte dans un tableau a double entrée [15][15].
toutefois, je n'arrive pas a la faire et jusqu'a présent personne n'a su me dire ce qui était faux.
elle charge un fichier dont les info sont mise a la suite sans passer a la ligne.
voici cette fameuse foutue fonction :
Code :
void chargerCarte(char tableauJeu[][NB_CASE])
{
FILE *fichier = NULL;
long i=0,j=0;
fichier = fopen("niveau.txt", "r" );
if (fichier != NULL)
{
do
{
printf("[%ld][%ld] ", i, j);//m'as parmis de voir que le tableau était corectement parcouru
if(j>13)//j ne doit pas dépasser 14 (15eme case)
{
j=0;
i++;
}
tableauJeu[i][j] = fgetc(fichier);
//printf("%c", tableauJeu[i][j]);
j++;
}while(tableauJeu[i][j] != EOF && i<15);
}
et voici, ce qui pourra vous aider la fonction d'enregistrement, qui elle est fonctionnelle (vérifié avec le .txt )
Code :
void sauvegarderCarte(char tableauJeu[][NB_CASE])
{
FILE *fichier = NULL;
long i,j;
fichier = fopen("niveau.txt", "w" );
if (fichier != NULL)//si le fichier s'ouvre corectement
{
for(i=0;i<NB_CASE;i++)//double boucle
{
for(j=0;j<NB_CASE;j++)
{
fprintf(fichier, "%ld", tableauJeu[j][i]);//on copie le contenu du tableau dans un fichier texte
}
}
fclose(fichier);
}
}
voila je vous remerçie d'avance de votre aide...
------------------------------si dieu existe et a inventé la bite, alors il a inventé la masturbation qui va avec. Qu'il ne vienne donc pas se plaindre...
Pour overclocker :
http://www.infos-du-net.com/forum/ [...] pic-unique
...
bon de 1), on voit tou de suite les gents compétent...
alors oui, j'en suis absolument sur, les fonctions d'enregistrements marchent tout à fait corectement, les valeures inscrites sont les bonnes, elle varie de 0 a 6 (je les manipule avec une énumération hein ! )
il s'agit d'un double tableau de char en effet...
la solution serait de l'enregistrer sous forme de %d pluto que %ld ?
pourtant j'ai toujours manipulé des %ld avec mes tableaux de char...
hé oui, la fin est bouffé :s
au cas ça ne se voit pas dans le post, je l'est bien vu en faisant le copier coller sur un seule ligne...
mais ceci provoque des problème d'affichage, donc j'en passe...
je ne comprend pas pourquoi, j'ai bien vérifié que tout le tableau était parcouru, et qu'il finissait @ [14][14] ...
sachant que la valeur NB_CASE vaut 15...
alors?
peu importe comment tu enregistre, prends bien garde au typage de données.
tu as un tableau (de tableau) de caractères.
si tu fais 1 %d, tu enregistrera le code ASCII du caractere.
'0' = 48 en ASCII
'1' = 49 en ASCII
'2' = 50 en ASCII
avec un %c , tu enregistrera le caractere demandé.
il te faut juste être cohérent.
Message édité par elendilm le 12-05-2007 à 11:54:30
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.
Bonjour,
Il suffit d'insérer une table point dans ta base de données, lorsque l'utilisateur par le biais d'une $_SESSION['id'] aucmente ses points, tu update cette table.
Ensuite pour débloquer se que tu souhaites, tu fais une petite condition:
Code :<?phpif ($_SESSION['point'] < 5) {echo "pas assez de points";} else {echo "assez de points";}?>