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

  FORUM HardWare.fr
  Programmation
  C

  [C] pb avec ncurse : des blagues carambar à gagner

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] pb avec ncurse : des blagues carambar à gagner

n°853392
Corbax
Posté le 19-09-2004 à 05:28:42  profilanswer
 

Salut à tous,
 
Bon je pensais ne pas être trop mauvais en recherche internet pour trouver une solution à mon problème mais là, nada, niet, que dalle... :fou:  
 
Voila mon problême :  
 

Code :
  1. char buf[PACKET_SIZE];
  2. //  (...)
  3.   Fonction_qui_alimente_ptr;
  4. //  (...)
  5.   printf("%s",buf);
  6.   wprintw(W,"%s",buf);
  7.   wrefresh(W);


 
Normalement, je devrais avoir le contenu de ptr qui s'affiche dans W mais là, rien :heink:  
 
Alors pour être sûr qu'il y'ait keke chose dedans je fais un test de cochon (oui je sais) et je fais un printf, "pour voir", vu qu'ils ont normalement la même syntaxe...et là, printf fonctionne et m'affiche le contenu de ptr (à savoir :+OK <15618.1095564311@pop1-q.free.fr> ) :pt1cable:  
 
Pourquoi ? Finalement, peut-être n'ont-il pas la même syntaxe ?
 
Si vous avez des idées, n'hésitez pas, vous êtes un peu ma denière chance... :sweat:  
 
RQ : je précise que ptr contient une reponse d'un serveur POP3, le but de mon prog etant de faire un mini client POP3.  
 
re-RQ : j'envoie plein de blagues Carambar à celui qui trouve...sympa, non ? ARRRfffffh, j'en ai marre.... :fou:


Message édité par Corbax le 19-09-2004 à 11:05:56
mood
Publicité
Posté le 19-09-2004 à 05:28:42  profilanswer
 

n°853400
cricri_
Posté le 19-09-2004 à 09:41:39  profilanswer
 

bah non c'est pas bon ça ... c'est un tableau de pointeur sur chaines que tu as déclaré, par une simple chaine ...
donc soit tu fais :

Code :
  1. #   char *ptr[PACKET_SIZE];
  2. # //  (...)
  3. #   printf("%s",ptr[index]);


soit :

Code :
  1. #   char ptr[PACKET_SIZE];
  2. # //  (...)
  3. #   printf("%s",ptr);


 
Et puis gaffe dans le premier cas il faut allouer de la mémoire pour chaque chaine ...


Message édité par cricri_ le 19-09-2004 à 09:43:02
n°853422
Corbax
Posté le 19-09-2004 à 11:10:35  profilanswer
 

oUpss :ange:
 
J'ai réeéditer ma question, effectivement la declaration est la 2éme que tu me propose...
 
Ca ne me donne pas la réponse(ça refuse toujours d'afficher), mais effectivement, doit y avoir une histoire d'adressage ou d'alloc de memoire....j'y retourne.
 
AU pasage, que font bcopy et bzero ? et que fait ptr=0x00 ?
 
Merci
 
 
 
 

n°853423
Taz
bisounours-codeur
Posté le 19-09-2004 à 11:18:05  profilanswer
 

elles font rien.
 
utilise memcpy/memmove et memset

n°853432
Corbax
Posté le 19-09-2004 à 11:43:35  profilanswer
 

Taz a écrit :

elles font rien.
 
utilise memcpy/memmove et memset


 
Certe, mais pourquoi preféré l'une à l'autre ? :heink:

n°853435
Taz
bisounours-codeur
Posté le 19-09-2004 à 11:52:52  profilanswer
 

parce que tu trouveras bzero et bcopy sur tous les systèmes ...

n°853437
Joel F
Real men use unique_ptr
Posté le 19-09-2004 à 11:54:04  profilanswer
 

Taz a écrit :

parce que tu netrouveras pas bzero et bcopy sur tous les systèmes ...


 
non [:aloy] ?

n°853438
Taz
bisounours-codeur
Posté le 19-09-2004 à 11:55:23  profilanswer
 

merde, effectivement j'ai un peu trop compressé là :D

n°853514
Corbax
Posté le 19-09-2004 à 13:56:37  profilanswer
 

Ah, j'ai peut-être une piste :
 
comme wprintw(W,"%s",buf) ne m'affiche rien, j'ai essayé de feinter :)  
J'ai tenté d'afficher caractère par caractére de la façon suivante :
 
char *ptr
  ptr=strstr(buf_r,"" );
  i=0;
  while (i<strlen(ptr)){

    wprintw(w_res.W,"%c",ptr[i]);
    ptr++;
    wrefresh(w_res.W);
  }

 
 
Si je fait de cette façon, rien ne s'affiche, MAIS, si j'ajoute un carctère bidon, genre-, par exemple :
wprintw(w_res.W,"-%c",ptr[i]);
Ca m'affiche keke chose
donc :
- soit vous connaissez un caractère invisible et qui ne prend pas de place et dans ce cas j'applique cette solutioon bancale
- soit ça vous éclaire et vous me dites pourquoi mes wprintw(W,"%s",buf)n'affiche rien (ce serait tip top)
-soit je suis dans la m...
 
merci


Message édité par Corbax le 19-09-2004 à 13:58:38
n°853515
Taz
bisounours-codeur
Posté le 19-09-2004 à 13:59:09  profilanswer
 

bidouille pas du C, c'est un massacre. si ça affiche pas, c'est un strict problème de ncurses (couleur, visibilié, wrefresh) ... vérifie de ce côté

mood
Publicité
Posté le 19-09-2004 à 13:59:09  profilanswer
 

n°855135
ricevent
peux mieux faire.....
Posté le 21-09-2004 à 18:04:20  profilanswer
 

et un fflush(stdout); ne resoudrait'il pas ton probleme ?


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

  [C] pb avec ncurse : des blagues carambar à gagner

 

Sujets relatifs
[C++] supprimer des lignes dans un fichier pour gagner du temps[Oracle] SQL Plus me fait des blagues, ca me fait pas rire
Affichage d'étiquettes d'images - gagner du temps?[MySQL] Gagner en rapidité en migrant de MySQL 3.23 vers MySQL 4 ?
C++ : Quel code vous fait gagner du temps ?Pour ceux ki maitrise turbo pascal et ki veulent gagner des $$$$
C++ : Trouver le Bug ! Un cado a gagner !!petit prog en batch pour gagner de l'espace disk
Plus de sujets relatifs à : [C] pb avec ncurse : des blagues carambar à gagner


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