Pbs de flux dans un fichier

Pbs de flux dans un fichier - C - Programmation

Marsh Posté le 07-01-2005 à 12:15:41    

Salut ,
Voila j'ai ptit probleme avec ce bout de code  
<code>
 
 
int Creer_fiche (char nom_de_la_fiche[])
{
 FILE *fp;
 strcat(nom_de_la_fiche ,".eca" );          // Pointeur de file
 
 if ((fp=fopen(nom_de_la_fiche ,"a" )==NULL))
 {
  printf("\n\b Impossible de creer nouvelle fiche\n" );
  return 0;
 }
 
 else  
 
 {
  printf("\nFichier %s cree",nom_de_la_fiche);
  fprintf(fp,"eca 1" );
  fclose(fp);
  return 1;
 }
}
</code>
 
Le hic c'est que je veux juste créer le fichier sur le disque et y ecrire un code de controle de reconnaissance du fichier ,malheureuesement je n'est que de erreur de type debug assertion failled .
Pourtant jouvre et je ferme correctement le flux de donné
Quelqu'un pourrait il m'aider.
Merci d'avance

Reply

Marsh Posté le 07-01-2005 à 12:15:41   

Reply

Marsh Posté le 07-01-2005 à 13:01:10    

bleuerouge a écrit :

Salut ,
Voila j'ai ptit probleme avec ce bout de code  
 
<code>


C'est pas <code>, c'est le bouton [Fixe] ou [C/C++]


int Creer_fiche (char nom_de_la_fiche[])
{
 FILE *fp;
 strcat(nom_de_la_fiche ,".eca" );          // Pointeur de file
 
 if ((fp=fopen(nom_de_la_fiche ,"a" )==NULL))
 {
  printf("\n\b Impossible de creer nouvelle fiche\n" );
  return 0;
 }
 
 else  
 
 {
  printf("\nFichier %s cree",nom_de_la_fiche);
  fprintf(fp,"eca 1" );
  fclose(fp);
  return 1;
 }
}


Citation :


Le hic c'est que je veux juste créer le fichier sur le disque et y ecrire un code de controle de reconnaissance du fichier ,malheureuesement je n'est que de erreur de type debug assertion failled


Je soupçonne un problème avec  


int Creer_fiche (char nom_de_la_fiche[])
{
 strcat(nom_de_la_fiche ,".eca" );    


Pourque ce code fonctionne, il faut que :
 

  • 'nom_de_la_fiche' pointe sur une zone modifiable (une chaine littérale n'est pas modifiable)
  • 'nom_de_la_fiche' pointe sur un tableau de char suffisament grand pour accueillir l'extension.


Message édité par Emmanuel Delahaye le 07-01-2005 à 13:02:06

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 07-01-2005 à 15:13:47    

oui mais comment faire alors ??

Reply

Marsh Posté le 07-01-2005 à 15:16:04    

je l'ai pompé d'un livre

Reply

Marsh Posté le 07-01-2005 à 17:17:12    

bleuerouge a écrit :

oui mais comment faire alors ??


Apprend à utiliser le bouton [ ]=> (répondre à).
 
Ensuite, tu peux faire une copie locale de la place nécessaire avec strlen(), malloc() etc.


Message édité par Emmanuel Delahaye le 07-01-2005 à 17:18:21

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 07-01-2005 à 17:19:23    

bleuerouge a écrit :

je l'ai pompé d'un livre


Mauvaise méthode. Il vaut mieux faire par soi même... C'est pas compliqué.  


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed