Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1538 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  (lire dans un fichier ascii) pourquoi mon programme ne marche pas ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

(lire dans un fichier ascii) pourquoi mon programme ne marche pas ?

n°276684
airseb
Posté le 27-12-2002 à 22:23:58  profilanswer
 

le "hello" au début de la fonction display ne s'affiche pas a l'execution !
qu'est-ce que je dois faire ?
 
 
#include <GL/glut.h>
 #include <stdio.h>
 #include <iostream.h>
 #include <string.h>
 #include <conio.h>
 
 #define nb_vertices 697
 #define nb_elements_ligne 3
 
 
 
 
 void display (void)
 {
   cout << "hello" ;
   
char tmp [500] ;  //c le tableau qui va aider a compter le nombre de caractères avant les vertices
     
   char chaine []= "*MESH_VERTEX    0 " ;  
     
   float tab_vertices [nb_vertices] ;
     
   long position = 0 ;
     
   int i ;
   
   FILE *cool ;                 //pointeur sur le fichier cool
   cool = fopen("cool.ase", "r" ) ; //ouverture du fichier cool
             
   fseek (cool, position, SEEK_SET) ; //positionnement au début du fichier
   do  
   {
       fscanf (cool, "%s", tmp) ;  // passage en revue de toutes les chaines pour noter la position avec ftell  
       position= ftell (cool) ;
     
   }
   while (strcmp (tmp, chaine) != 0) ;
   
     
   fseek (cool, position, SEEK_SET) ;
   
   for (i = 0 ; i <= 2 ; i++)
   {
      fscanf(cool, "%f", &tab_vertices[i]);
   position= ftell (cool) ;
   fseek (cool, position, SEEK_SET) ;
     
   }
   fclose (cool) ;
   
   cout << tab_vertices [0] ; //test
   
     
     
 }
 
 
 void main (void)
 
 {
   display () ;
   getch () ;
   
 }

mood
Publicité
Posté le 27-12-2002 à 22:23:58  profilanswer
 

n°276709
antp
Super Administrateur
Champion des excuses bidons
Posté le 27-12-2002 à 22:51:58  profilanswer
 

C'était utile de supprimer le premier topic ? Tu risques pas d'avoir des masses de réponses positives avec ce genre de choses :o


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°276710
samuelp
Posté le 27-12-2002 à 22:52:45  profilanswer
 

antp a écrit :

C'était utile de supprimer le premier topic ? Tu risques pas d'avoir des masses de réponses positives avec ce genre de choses :o


Ce n'est peut etre pas volontaire, tu peux toujours restaurer l'ancien tu sais !

n°276718
antp
Super Administrateur
Champion des excuses bidons
Posté le 27-12-2002 à 22:58:20  profilanswer
 

samuelp a écrit :


Ce n'est peut etre pas volontaire, tu peux toujours restaurer l'ancien tu sais !


 
Tu deviens lourd toi :p
je sais que je peux restaurer l'autre, et ça m'étonnerais que ce ne soit pas volontaire...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°276720
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 27-12-2002 à 22:59:39  profilanswer
 

laisser ce topic pourrie s'abymer comme il se doit  :jap:


---------------
du bon usage de rand [C] / [C++]
n°276721
chrisbk
-
Posté le 27-12-2002 à 23:00:29  profilanswer
 

antp a écrit :


 
Tu deviens lourd toi :p
je sais que je peux restaurer l'autre, et ça m'étonnerais que ce ne soit pas volontaire...


 
moi zaussi :O

n°276727
youdontcar​e
Posté le 27-12-2002 à 23:09:02  profilanswer
 

Taz@PPC a écrit :

laisser ce topic pourrie s'abymer comme il se doit  :jap:

tu devrais prendre des vacances. tu fais vraiment chier.

n°276730
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 27-12-2002 à 23:11:26  profilanswer
 

youdontcare a écrit :

tu devrais prendre des vacances. tu fais vraiment chier.

:pfff: je veux pas recommencer s'il eu plé


---------------
du bon usage de rand [C] / [C++]
n°276786
airseb
Posté le 28-12-2002 à 11:21:26  profilanswer
 

personne veut m'aider ?

n°276791
youdontcar​e
Posté le 28-12-2002 à 11:46:39  profilanswer
 

airseb a écrit :

  fseek (cool, position, SEEK_SET) ;
   
   for (i = 0 ; i <= 2 ; i++)
   {

que vaut position et donc, où vas-tu te retrouver dans le fichier ?

mood
Publicité
Posté le 28-12-2002 à 11:46:39  profilanswer
 

n°276793
MrTonio
Posté le 28-12-2002 à 11:51:05  profilanswer
 

airseb a écrit :

personne veut m'aider ?


Code :
  1. cout << "hello" << endl;


 :o
 
ca valait vraiment la peine de repondre :??:


Message édité par MrTonio le 28-12-2002 à 11:51:28

---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
n°276794
MrTonio
Posté le 28-12-2002 à 11:53:10  profilanswer
 

youdontcare a écrit :

que vaut position et donc, où vas-tu te retrouver dans le fichier ?


 

Code :
  1. long position = 0 ;


il a mis ca... au debut du prog mais de toute facon je vois pas trop l interet du fseek ....


Message édité par MrTonio le 28-12-2002 à 11:55:09

---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
n°276795
youdontcar​e
Posté le 28-12-2002 à 11:54:39  profilanswer
 

et il y a une boucle derrière qui modifie sa valeur.

n°276797
MrTonio
Posté le 28-12-2002 à 11:56:40  profilanswer
 

oula j avé pas fé gaffe mais il replace le pointeur dans le fichier au meme endroit k il est sensé etre  :heink:  
pas tres catholique tout ca  :fou:


---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
n°276801
airseb
Posté le 28-12-2002 à 12:08:59  profilanswer
 

j'ai modifié le prog pasqu'il y avait une petite erreur mais ça marche tjs pas  :(  
 

Code :
  1. #include <stdio.h>
  2.   #include <iostream.h>
  3.   #include <string.h>
  4.   #include <conio.h>
  5.  
  6.   #define nb_vertices 697
  7.   #define nb_elements_ligne 3
  8.  
  9.  
  10.  
  11.  
  12.   void display ()
  13.   {
  14.     char tmp [100] ;  //c le tableau qui va aider a compter le nombre de caractères avant les vertices
  15.      
  16.     char chaine [100]= "*MESH_VERTEX" ;   
  17.     float tab_vertices [nb_vertices] ;
  18.      
  19.     long position = 0 ;
  20.      
  21.     int i ;
  22.    
  23.     FILE *cool ;                 //pointeur sur le fichier cool
  24. cool = fopen("cool.ase", "r" ) ; //ouverture du fichier cool
  25.     fseek (cool, position, SEEK_SET) ; //positionnement au début du fichier
  26.    
  27. do
  28. {
  29.  do 
  30.  {
  31.   fscanf (cool, "%s", &tmp) ;  // passage en revue de toutes les chaines pour trouver "*MESH_VERTEX"
  32.   position= ftell (cool) ;
  33.   fseek (cool, position, SEEK_SET) ;
  34.  }
  35.  while (strcmp (tmp, chaine) != 0) ; // s'arrete quand tmp == "*MESH_VERTEX"
  36.  fscanf (cool, "%d", &tmp) ; //cherche le 0 qui suit "*MESH_VERTEX"
  37.  position= ftell (cool) ;
  38.  fseek (cool, position, SEEK_SET) ;
  39.     }
  40. while (tmp != 0) ;  // 0 car après "*MESH_VERTEX" on a le chiffre 0
  41.      
  42.    
  43.     for (i = 0 ; i <= 2 ; i++)
  44.     {
  45.        fscanf(cool, "%f", &tab_vertices[i]);
  46.     }
  47.     fclose (cool) ;
  48.    
  49.     cout << tab_vertices [0] ; //test
  50.      
  51.   }
  52.  
  53.   void main (void)
  54.  
  55.   {
  56.     display () ;
  57.     getch () ;
  58.    
  59.   }


 
 
sinon dans mon fichier j'ai ça :
 
*MESH_VERTEX    0 68.2882 -28.6895 98.6747
 
et je veux lire les flottants.


Message édité par airseb le 28-12-2002 à 12:30:44
n°276808
MrTonio
Posté le 28-12-2002 à 12:46:15  profilanswer
 

Code :
  1. #include <stdio.h>
  2.  
  3. void display()
  4. {
  5. float tab_vertices[3];
  6. FILE *cool;
  7. if ((cool = fopen("cool.ase", "r" )) == NULL)
  8.  return ;
  9. while (!feof(cool))
  10. {
  11.  fscanf(cool, "*MESH_VERTEX    0 %f %f %f\n", &tab_vertices[0], &tab_vertices[1], &tab_vertices[2]);
  12.  printf("%.4f %.4f %.4f\n", tab_vertices[0], tab_vertices[1], tab_vertices[2]);
  13. }
  14. fclose(cool);
  15. }


 
bon walla  :D  
par contre faut pas d erreur de syntaxe dans le fichier  :whistle:


Message édité par MrTonio le 28-12-2002 à 12:53:44

---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
n°276812
airseb
Posté le 28-12-2002 à 13:20:43  profilanswer
 

tu peux m'expliquer cette ligne ste plait? je pige pas bien
 
fscanf(cool, "*MESH_VERTEX    0 %f %f %f\n", &tab_vertices[0], &tab_vertices[1], &tab_vertices[2]);
 
pourquoi t'as mis *MESH_VERTEX    0 entre guillemets ? et surtout pourquoi tu l'a mis a cet endroit là (c peut être simple mais fscanf c nouveau pour moi)

n°276814
MrTonio
Posté le 28-12-2002 à 13:27:39  profilanswer
 

bah je cherche la "phrase" : "*MESH_VERTEX    0 %f %f %f\n" dans le fichier tout simplement, c le formatage de ta ligne
et j extrais les nombres de la phrase ... :)
 
mais t as essayé :??: ca marche :??:


Message édité par MrTonio le 28-12-2002 à 13:28:14

---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
n°276816
airseb
Posté le 28-12-2002 à 13:37:36  profilanswer
 

MrTonio a écrit :

bah je cherche la "phrase" : "*MESH_VERTEX    0 %f %f %f\n" dans le fichier tout simplement, c le formatage de ta ligne
et j extrais les nombres de la phrase ... :)
 
mais t as essayé :??: ca marche :??:


 
ça fé une boucle infinie, et les valeurs sont fausses : ça me met des flottants (tjs le même) avec 4 zéros après la virgule  :(

n°276820
MrTonio
Posté le 28-12-2002 à 13:47:22  profilanswer
 

airseb a écrit :


 
ça fé une boucle infinie, et les valeurs sont fausses : ça me met des flottants (tjs le même) avec 4 zéros après la virgule  :(  


 
bah respecte bien la syntaxe  :D  
"*MESH_VERTEX" + 4 espaces + "0" + 1 espace + chiffre1 + 1 espace + chiffre2 + 1 espace + chiffre3 + "\n"


Message édité par MrTonio le 28-12-2002 à 13:47:50

---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
n°276872
airseb
Posté le 28-12-2002 à 16:14:44  profilanswer
 

ça marche pas  :cry:

n°276877
airseb
Posté le 28-12-2002 à 16:29:46  profilanswer
 

j'ai fait un nouveau programme qui ne marche pas non plus, pouvez m'aidez a trouver les erreurs ?
la compilation passe mais après j'ai le message suivant :
"lecture_ase.exe a rencontré un problème et doit fermer."
please help !  :cry:  
 

Code :
  1. #include <stdio.h>
  2.   #include <iostream.h>
  3.   #include <string.h>
  4.   #include <conio.h>
  5.  
  6.   #define nb_vertices 697
  7.  
  8.  
  9.  
  10.  
  11.   void display ()
  12.   {
  13.     char tmp [100] ;
  14.     int temp [697] ; 
  15.     char chaine [100] ;
  16.     strcpy (chaine , "*MESH_VERTEX" ) ;
  17.     float tab_vertices [nb_vertices] ;
  18.      
  19.    
  20.    
  21.     FILE *cool ;                 //pointeur sur le fichier cool
  22. if ((cool = fopen("cool.ase", "r" )) == NULL)
  23. {
  24.         return ;
  25. }
  26.     do
  27. {
  28.  fscanf (cool, "%s || %c", tmp ) ;
  29. }
  30. while (strcmp (chaine, tmp) != 0) ;
  31. fscanf (cool, "%d %f %f \n %f", temp ,&tab_vertices[0], &tab_vertices[1], &tab_vertices [2]) ;
  32.     fclose (cool) ;
  33.    
  34.     cout << tab_vertices [0] << endl ;//test   
  35.   }
  36.  
  37.  
  38.   void main (void)
  39.  
  40.   {
  41.     display () ;
  42.     getch () ;
  43.    
  44.   }


Message édité par airseb le 28-12-2002 à 16:56:46
n°276975
MrTonio
Posté le 28-12-2002 à 19:45:55  profilanswer
 

hey tu compile avac koi ton truc :??:
aske chez moa ca marche ce ke j ai fé ! :cry:


---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
n°276979
airseb
Posté le 28-12-2002 à 19:53:54  profilanswer
 

MrTonio a écrit :

hey tu compile avac koi ton truc :??:
aske chez moa ca marche ce ke j ai fé ! :cry:  


 
avec visual c++, au lieu d'aller dans project, je vais dans file => C++ source file, mais ça dois marcher non ?

n°276982
MrTonio
Posté le 28-12-2002 à 19:58:07  profilanswer
 

airseb a écrit :


 
avec visual c++, au lieu d'aller dans project, je vais dans file => C++ source file, mais ça dois marcher non ?


 
créer un projet Win32 vide, ajoute le fichier .c
compile et normalement c bon


---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
n°276986
airseb
Posté le 28-12-2002 à 20:16:25  profilanswer
 

MrTonio a écrit :


 
créer un projet Win32 vide, ajoute le fichier .c
compile et normalement c bon


 
ça marche pas, avant ça affichais des valeurs fausses, maintenant ça affiche plus rien !  :(  
 
c mon compilo qui déconne ou c moi qui ai fait une mauvaise manoeuvre ?

n°276988
MrTonio
Posté le 28-12-2002 à 20:29:51  profilanswer
 

Code :
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <conio.h>
  4.  
  5. void display()
  6. {
  7. float tab_vertices[3];
  8. FILE *cool;
  9. if ((cool = fopen("cool.ase", "r" )) == NULL)
  10.  return ;
  11. while (!feof(cool))
  12. {
  13.  if (fscanf(cool, "*MESH_VERTEX    0 %f %f %f\n", &tab_vertices[0], &tab_vertices[1], &tab_vertices[2]) == 3)
  14.   printf("%.4f %.4f %.4f\n", tab_vertices[0], tab_vertices[1], tab_vertices[2]);
  15.  else
  16.   fgetc(cool);
  17. }
  18. fclose(cool);
  19. }
  20. int main()
  21. {
  22. display();
  23. getch();
  24. return (0);
  25. }


walla normalement c bon ;)


---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
n°278000
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 01-01-2003 à 14:42:25  profilanswer
 

C++ powa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ok je sors: bonne année


---------------
du bon usage de rand [C] / [C++]
n°281470
gilou
Modérateur
Modzilla
Posté le 07-01-2003 à 20:17:51  profilanswer
 

Taz@PPC a écrit :

C++ powa
ok je sors: bonne année


Ca fait plusieurs topics ou tu n'interviens que pour pondre des conneries qu'on me signale (a supposer que les divers pseudos Taz se rapportent tous a toi).
Les previsions de Modéo-France: Si la tendance persiste, un ban devrait parcourir ce forum.
A+,


Message édité par gilou le 07-01-2003 à 20:18:44

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°281472
Taz
bisounours-codeur
Posté le 07-01-2003 à 20:26:05  profilanswer
 

gilou a écrit :


Ca fait plusieurs topics ou tu n'interviens que pour pondre des conneries qu'on me signale (a supposer que les divers pseudos Taz se rapportent tous a toi).
Les previsions de Modéo-France: Si la tendance persiste, un ban devrait parcourir ce forum.
A+,


 
euh désolé si les gens confondent le C et le C++. J'estime que c'est leur rendre service que de leur enseigner ce fait. Si t'es contre ça, alors ban moi direct. Si certains se plaignent, ils n'ont qu'à se plaindre aupres de moi et pas allez pleurer aupres des modos.
Sur ce topic, c'est vrai que j'ai pas apporté grand chose. Mais c'est l'exception qui confirme... sur chaque topic auxquels je participe, même si je gueule, j'apporte toujours des éléments de réponses et des conseils.

n°281476
gilou
Modérateur
Modzilla
Posté le 07-01-2003 à 20:29:24  profilanswer
 

++Taz a écrit :


 
euh désolé si les gens confondent le C et le C++. J'estime que c'est leur rendre service que de leur enseigner ce fait. Si t'es contre ça, alors ban moi direct. Si certains se plaignent, ils n'ont qu'à se plaindre aupres de moi et pas allez pleurer aupres des modos.
Sur ce topic, c'est vrai que j'ai pas apporté grand chose. Mais c'est l'exception qui confirme... sur chaque topic auxquels je participe, même si je gueule, j'apporte toujours des éléments de réponses et des conseils.


C'est ce que je disais en privé a la personne qui m'a signalé une kyrielle de topics ou tu intervenais.

Citation :

meme s'il est chiant dans ses interventions, il dit pas que des conneries lorsque ca releve du domaine technique.


Mais bon, faut te calmer un peu: Si tu as envie de raler, il y a  
1) BlaBla@prog
2) BlaBla.
Un peu de courtoisie dans tes interventions dans les topics techniques ne ferait pas de mal.
A+,


Message édité par gilou le 07-01-2003 à 20:30:05

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°281480
Taz
bisounours-codeur
Posté le 07-01-2003 à 20:32:59  profilanswer
 

ben c'est bien connu que je démarre au quart de tour. Je t'assure que depuis un certain temps, je fais plein de progrès :D

n°281490
gilou
Modérateur
Modzilla
Posté le 07-01-2003 à 20:38:16  profilanswer
 

++Taz a écrit :

ben c'est bien connu que je démarre au quart de tour. Je t'assure que depuis un certain temps, je fais plein de progrès :D  

:sweat:  
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°281703
Musaran
Cerveaulté
Posté le 08-01-2003 à 04:01:48  profilanswer
 

++Taz a écrit a écrit :

Je t'assure que depuis un certain temps, je fais plein de progrès :D


Je confirme.
Il s'est bien adouci depuis les commentaires frais qu'ils mavait envoyé sur PPC.


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°281708
Taz
bisounours-codeur
Posté le 08-01-2003 à 07:08:30  profilanswer
 

:D ²

n°281714
LeGreg
Posté le 08-01-2003 à 08:17:49  profilanswer
 

c'est pas encore ca moi je dis :D
 
je suis dehors.
 
LeGreg


---------------
voxel terrain render engine | animation mentor
n°281732
chrisbk
-
Posté le 08-01-2003 à 09:27:19  profilanswer
 

Musaran a écrit :

Je confirme.
Il s'est bien adouci depuis les commentaires frais qu'ils mavait envoyé sur PPC.


 
tu parles, on va se mettre a parler de VC++ et on va voir s'il s'est adouci :D :D

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  (lire dans un fichier ascii) pourquoi mon programme ne marche pas ?

 

Sujets relatifs
[Win32] Wininet : savoir si un fichier existe ?Convertir un fichier au format binhex
mettre les donné d'un fichier texte dans un bddpourquoi ça marche pas ça?
Connection en SYSDBA masterkey en localhost , ne marche pas ,help!!!![JBuilder]Ajouter un fichier PDF à la webapp (dans le .war)
numero des versions,comment ca marche?probleme pour retirer le chemin d'un fichier
[JS] verif de formulaire qui marche pasGestion de fichier et analyse de ligne en C
Plus de sujets relatifs à : (lire dans un fichier ascii) pourquoi mon programme ne marche pas ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR