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

 


Dernière réponse
Sujet : [C/C++]pb de fscanf / fprintf
koulip31 ben en fé a pas fait goof ces 2 trucs le savait le coup du malloc et le coup du static c'est pour ca glouuppppsss ...
je suis une merdeuuuuuuu    :cry:  :cry:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
koulip31 ben en fé a pas fait goof ces 2 trucs le savait le coup du malloc et le coup du static c'est pour ca glouuppppsss ...
je suis une merdeuuuuuuu    :cry:  :cry:
LeGreg ah la la?
pourquoi tu vas pas chercher un bouquin pour apprendre le C ca irait plus vite, non??
 
LEGREG
ps: en tout cas c'est plus efficace que de risquer de se casser le coup en se defenestrant (aka installation de linux :) )

 

[edtdd]--Message édité par legreg--[/edtdd]

koulip31 me reffla  :pt1cable:  meme fa mal
chrisbk a+ :D
koulip31 c'est decidé je saute  :sweat:  
 
ca me vaut rien les week de 4J ca rapporte de bleux  
 
je reviens dans 5min le temps de sauter et revenir
chrisbk huh :)
 
a priori ton fd est plus initialise correctement (tu l'init dans le WM_INITDIALOG, et tu ecrit dans le WM_TIMER, c a d qu'entre tps tu es sorti puis rerentre dans ta fonction)
 
essaye avec :
 
static FILE *fd;
 
a la place de  
FILE *fd;
koulip31 fd est un FILE *fd;
 dans ma fonction donc pas global est ce que un FILE * est un static :??: jai pas ete voir mais pense ke si :/
 
si c'est ca je me jette par la fenetre car le je suis trop une merde ..... :cry: :cry: (ca vas je suis au 1er et en desous c'est de la pelouse :p )
chrisbk question con :
 
ta variable fd est bien declare en static ou en global ?
koulip31 bon pour le fpritf ca a lair de bien fonctioner en dehors de mon programme :/
 
en gros ce ke je fait  
dans le  
   WM_INITDIALOG:
      je fait mon fopen
   WM_TIMER:
      je fait mes differente op d'ecriture
   ID_CANCEL
      je fait mon fclose
 
 
donc je suis environ 30 a 40 secondes avec un fd ouvert et je fait de op d'ecriture a des temps plus ou moin long allant de l'instantane a la minute entre 2op d'ecriture
koulip31 oui toto est bien une chaine dde char terminant par \0
 
pour le wr rt => voir msdnc'est bien w et r :p
 
pour le fprintf(fd,"toto" ); jessaye et je vous tien au courant
chrisbk sinon c koi ta variable toto ?
c bien une chaine de caractere se finissant par \0 ?
chrisbk zarb ton truc
meme un  
 
for (int i=0;i<300;i++)
{
fprintf(fd,"pouet" );
}
 
coince ?
godbout si je me trompe pas deja pour les fichiers textes c'est "rt" pour la lecture et "wt" pour l'ecriture
koulip31 avec ou sans ca freeze :( mais obn c'est une autre histoire :/
godbout fd = fopen("toto.txt","w" );
for(i = 0 ; i < 300; i++)
  fprintf(fd,"%s\n",toto);
fclose(fd);
 
pas de "" a toto !!
koulip31 warrfff moi ki me fesait pas chier a mallocer :lol:  
bon c'est repartit ..... thx :bounce:
 
 
et pour les fprintf  
 
fd = fopen("toto.txt","w" );
for(i = 0 ; i < 300; i++)
  fprintf(fd,"%s\n","toto" );
fclose(fd);
 
la aussi ca frezze au bout d'environ 80 lignes pourtant ya pas de mallocage a faire :??:
godbout c'est ma fonction preferee maintenant :D
chrisbk

Godbout a écrit a écrit :

merde j'suis con c'est normal (ou alors j'suis gol :crazy:)
 
Pour les chaines il ne faut effectivement pas mettre de &.
Essaye en les enlevant et en faisant
 
char data[255];
memset(data, 0, 255);
 
pareil pour les 3 char  




 
roooooh je le reconnais ce memset :D

godbout merde encore grillaid, en + by the master :D
godbout merde j'suis con c'est normal (ou alors j'suis gol :crazy:)
 
Pour les chaines il ne faut effectivement pas mettre de &.
Essaye en les enlevant et en faisant
 
char data[255];
memset(data, 0, 255);
 
pareil pour les 3 char
chrisbk Houla :)
 
char *data,com,baudrate;  
 
 
fd = fopen("conf.dat","r" );  
fscanf(fd,"%s\n",&data);  
fscanf(fd,"%s\n",&com);  
fscanf(fd,"%s\n",&baudrate);  
 
 
au derniere nouvelles fscanf ne fait pas d'alloc de memoire
donc tes data & cie pointe sur rien du tout, donc ca va pas
 
 
 
 
char data[50],com[50],baudrate[50];  
 
fd = fopen("conf.dat","r" );  
fscanf(fd,"%s\n",data);  
fscanf(fd,"%s\n",com);  
fscanf(fd,"%s\n",baudrate);  
 
c pas sublime mais ca doit marcher
 
tu notera que le "&" a fait le saut dans le scanf
en effet, data tout court = &data[0], ce qui equivaut a l'adresse de la premiere case du tableau (donc tout va bien)
 
edit :  
char *data,com,baudrate;  
 
huh fait gaffe aussi, la seul "data" est pointeur sur caractere...

 

[edtdd]--Message édité par chrisbk--[/edtdd]

koulip31 Godbout > jai essaye avec et sans le \n meme effet ai rajoute dans mon fichier .dat un\n a la fin sans effet non plus :(
 
le truc  :ouch:  c'est ke ca me freeze aussi dans la geule pour un fprintf en boucle :??:
koulip31 Godbout > sans le & c'est frezzeee total scrontch beurp !!! (pas beau a voir koi)
godbout t'es sur qu'il y a un \n a la fin de ta 3eme chaine (conseil de cm2 mais bon...)
koulip31 ya que ca dans ma fonction :( c'est pour ca :cry:
jai reduit ma fonction au strict minimum mais ca merd tj
 
voiod load()
{
 FILE *fd;
 char *data,com,baudrate;  
 
 
 fd = fopen("conf.dat","r" );  
 fscanf(fd,"%s\n",&data);  
 fscanf(fd,"%s\n",&com);  
 fscanf(fd,"%s\n",&baudrate);  
 
 Bprintf(hDlg,0,T_3,"%s",&data);//routine faisant un printf dans une edit box  
 
 Bprintf(hDlg,0,T_2,"%s",&com);  
 
 Bprintf(hDlg,0,T_1,"%s",&baudrate);  
 
 fclose(fd)  
}
 
sans le fscanf(fd,"%s\n",&baudrate);
le com s'affiche nikel dans l'edit T_2
le 7 saffiche nikel dan l'edit T_3
 
avec le fscanf(fd,"%s...
ca freeze :cry:
godbout merde j'etais persuade qu'on mettait pas un & pour les chaines :??:
BENB C'est un peu cours jeune homme...
donne nous le reste de ton code...
koulip31 mon fichier  conf.dat :
 
7
COM4
57600
 
 
mon code source:
 
fd = fopen("conf.dat","r" );
fscanf(fd,"%s\n",&data);
fscanf(fd,"%s\n",&com);
fscanf(fd,"%s\n",&bau);
 
Bprintf(hDlg,0,T_3,"%s",&data);
Bprintf(hDlg,0,T_2,"%s",&com);
Bprintf(hDlg,0,T_1,"%s",&baudrate);
fclose(fd)
 
les 2 premiers scanf fonctionnent tout bien mais mon dernier scanf fait freezer le tout :(
 
jobtient le meme effet en faisant des fprintf en boucle au bout d'environ 80 fprintf sur un fd ca freeze ..  
d'ou ca peut venir?  
hlp plz :cry:

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)