Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation C » fopen à plusieurs reprises (8 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
bobti89 Ecrit le: Vendredi 18 juin 2004 à 18:08 Déconnecté(e)    Voir le profil de bobti89 Envoyer un email à bobti89 Visiter le site WEB de bobti89 Envoyer un message privé à bobti89  

Comment faut faire pour que fopen marche plein de fois d'affilé, comme dans une boucle for par exemple.
Le programme se compile normalement mais après > protected memory violation :(
Aidez-moi svp !
bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici
    
./Post n°1   Marquer comme non lu.
verytourist Ecrit le: Vendredi 18 juin 2004 à 18:13 Déconnecté(e)    Voir le profil de verytourist Envoyer un email à verytourist Envoyer un message privé à verytourist  

pourquoi tu veu utiliser fopen en boucle ??
    
./Post n°2   Marquer comme non lu.
bobti89 Ecrit le: Vendredi 18 juin 2004 à 18:16 Déconnecté(e)    Voir le profil de bobti89 Envoyer un email à bobti89 Visiter le site WEB de bobti89 Envoyer un message privé à bobti89  

bon, voilà mon code (c'est juste pour grouper des levels) :
#include <tigcclib.h>         // Include All Header Files

void _main(void)
{
  int i=0, j, nb_level;
  char packlevelfinal[25]={}, *strfinal=malloc(7801), *level=malloc(7801);
  ESI argptr;
  InitArgPtr (argptr);
  
  if (GetArgType (argptr) == STR_TAG)
    strcpy(packlevelfinal,GetStrnArg(argptr));


  while (GetArgType (argptr) == STR_TAG)
  {
    printf_xy(10,40,"%d ",i);
    ngetchx();
    FILE *l=fopen (GetStrnArg(argptr), "rb");
    fseek (l, 1, 1);
    nb_level = fgetc (l);
    printf_xy(10,10,"%d ",nb_level);
    ngetchx();
    fseek (l, 2, 1);
    for (j=0;j<260*nb_level;j++) 
    {
      level[j] = fgetc(l);
      //printf_xy(20,10,"%d ",j);
    }
    fclose (l);
    
    strcat (strfinal, level ); 
    memset(level,0,7801); 
    i++;
  }
  printf_xy(10,20,"128");
  ngetchx();
  FILE *f = fopen (packlevelfinal, "wb");
    fputc (0, f);
    fprintf (f,"%c%s",i,strfinal);
    fputc (0, f);
    fputs ("LVL", f);
    fputc (0, f);
    fputc (OTH_TAG, f);
    fclose (f);  
  free(strfinal);
  free(level);
}
bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici
    
./Post n°3   Marquer comme non lu.
Kevin Kofler Ecrit le: Vendredi 18 juin 2004 à 18:56 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


C'est censé marcher tel quel... Peut-être que tu débordes de tes tableaux dans ta boucle.
-Edité le Vendredi 18 juin 2004 à 18:56 par Kevin Kofler-
-Edité le Vendredi 18 juin 2004 à 19:59 par Kevin Kofler-
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°4   Marquer comme non lu.
Thor Ecrit le: Vendredi 18 juin 2004 à 18:58 Déconnecté(e)    Voir le profil de Thor Envoyer un email à Thor Visiter le site WEB de Thor Envoyer un message privé à Thor  


Moi j'ai jamais eu de problème avec fopen mais je l'utilise peu et seulement une fois.
Cyril MOTTIER aka {==Thor==}
Modérateur général du forum de Tigen
[Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
    
./Post n°5   Marquer comme non lu.
bobti89 Ecrit le: Vendredi 18 juin 2004 à 20:41 Déconnecté(e)    Voir le profil de bobti89 Envoyer un email à bobti89 Visiter le site WEB de bobti89 Envoyer un message privé à bobti89  

Ce qui est bizarre c'est que ca marche pour le premier fichier et c'est à l'ouverture du second que ca plante...
bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici
    
./Post n°6   Marquer comme non lu.
bobti89 Ecrit le: Samedi 19 juin 2004 à 16:27 Déconnecté(e)    Voir le profil de bobti89 Envoyer un email à bobti89 Visiter le site WEB de bobti89 Envoyer un message privé à bobti89  

C'est bon, problème réglé, merci kevin, l'erreur ne venait effectivement pas de l'utilisation multiple de fopen.
:) MERCI :)
bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici
    
./Post n°7   Marquer comme non lu.
Lionel Debroux Ecrit le: Samedi 19 juin 2004 à 16:56 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

Ca aurait en effet été étonnant que ça soit dû à fopen...
Sinon, la méthode utilisée est TRES inefficace en taille et en vitesse.
Lionel Debroux - membre de TICT.
    
./Post n°8   Marquer comme non lu.
bobti89 Ecrit le: Samedi 19 juin 2004 à 18:40 Déconnecté(e)    Voir le profil de bobti89 Envoyer un email à bobti89 Visiter le site WEB de bobti89 Envoyer un message privé à bobti89  

Je sais, lire caractère à carcatère, mais bon c'était pour tester, je comprenais pas pourquoi ca marchait pas...
bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici
    
  :: Index » Forum Ti68K » Programmation C » fopen à plusieurs reprises (8 réponse(s))
Pages : 1/1     « [1] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 82.13ms avec 18 requetes