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

  FORUM HardWare.fr
  Programmation
  C++

  [C,Curses,solaris]recuperer une chaine tappee au clavier AVEC ESPACES

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[C,Curses,solaris]recuperer une chaine tappee au clavier AVEC ESPACES

n°221891
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 17:30:00  profilanswer
 

MISE A JOUR :
 
L'ancien probleme est resolu, mais il m'en reste un de taille.
 
Que je fasse un wscanw ou un wgetnstr, j'ai beau essayer d'entrer une CHAINE DE CARACTERES, par exemple des MOTS SEPARES PAR DES ESPACES ( avouez c'est con), eh ben mon cul, il les affiche meme pas les espaces que je tape au clavier... il les ignore...
 
J'ai essaye, conformement au MAN sous solaris, de ne pas faire de wscanw de %s mais bien de wscanw avec un format entre crochets dedans, par exemple [a-zA-Z] mais je me mange une segmentation fault.
 
Comment on fait, pitie :cry:
 
Je sature, ca fait 20 heures que je suis dessus :cry: :cry:

 
 
 
 
 
 
 
 
 
 
 
 
Ancien post :
 
Je suis dans la merde :cry:
 
Je vous epxlique le probleme :
 
J'ai du faire, pour un projet, une sorte de client IRC en mode texte sous linux/solaris etc, en C.
 
Donc, pour que ce soit + simple, je me suis dit que j'allais copier tous les autres : Faire une barre en bas ou l'utilisateur tape son message, et une grande fenetre au dessus ou tout apparait.
 
Jusque la, pas de souci.
 
J'ai donc programme ca sur mon linux a moi, une Debian sid mise a jour recemment.
 
Ca marche parfaitement, des qu'un message arrive il apparait dans la fenetre au dessus, des que l'utilisateur tape son message dans la barre en bas, et qu'il valide via enter, le message est envoye au server... bref, tout est pour le mieux dans le meilleur des mondes.
 
Arrive le moment ou je teste sur les machines sur lesquelles seront evalues les programmes.
 
Ces machines tournent sous SOLARIS.
 
Et c'est la que le gros souci apparait :
 
Ca par en boucle :/
 
En fait, la fonction que j'utilise pour avoir ce que l'utilisateur tape dans la barre du bas devient "non-bloquante"
 
En gros, au lieu d'attendre que l'utilisateur aie tape son messae et appuye sur ENTER, elle va directement prendre le contenu et continuer l'execution.
 
Voici le code :
 

Code :
  1. while(1)
  2.         {
  3.           wgetstr(typebar,datpack.message);
  4.           wclear(typebar);
  5.           datpack.packet_ID = 151;
  6.           if(strncmp(datpack.message,"/quit",5)==0)
  7.             {
  8.               datpack.packet_ID = 161;
  9.               if (sendto(sockfd, &datpack , sizeof(data_packet), 0,
  10.                          (struct sockaddr *)&their_addr, sizeof(struct sockaddr)) == -1) {
  11.                 perror("sendto" );
  12.                 exit(1);
  13.               }
  14.               delwin(chatbar);
  15.               delwin(typebar);
  16.               endwin();
  17.               return 0;
  18.             }
  19.           if (sendto(sockfd, &datpack , sizeof(data_packet), 0,
  20.                      (struct sockaddr *)&their_addr, sizeof(struct sockaddr)) == -1) {
  21.             perror("sendto" );
  22.             exit(1);
  23.           }
  24.         }


 
Le souci est au niveau de la premiere ligne  du while, "wgetstr":
 
-Sur ma debian elle attends que l'utilisateur aie valide son message
-Sur solaris ( meme versions de lib, j'ai verifie) elle prends le contenu sans se soucier de ce que l'utilisateur fait... elle attends rien quoi :/
 
Donc en gros, si vous pouviez :
 
-Me dire si il y a une autre fonction faisant l'equivalent d'un "scanf" dans une fenetre sous curses que wgetstr
-Comment regler le probleme en ajoutant un truc a wgetstr
 
Ca m'aiderai enormement :/
 
Please, j'ai passe 10 heures sur ce probleme sans succes, et le projet est pour tres bientot :sweat:


Message édité par Tetedeiench le 01-10-2002 à 04:43:50

---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
mood
Publicité
Posté le 30-09-2002 à 17:30:00  profilanswer
 

n°221904
bjone
Insert booze to continue
Posté le 30-09-2002 à 17:54:44  profilanswer
 

je sais pas, mais question à 2 balles:
 
est-ce qu'il y aurait pas une merde avec le tamponnage du clavier (genre le '\n' qui est jamais retiré du buffer ou un truc du genre) ?
 
vu qu'apparement d'après les docs ça utilise getch(), normalement le getch() est bloquant (s'il bloque pu...)

n°221913
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 18:01:05  profilanswer
 

bjone a écrit a écrit :

je sais pas, mais question à 2 balles:
 
est-ce qu'il y aurait pas une merde avec le tamponnage du clavier (genre le '\n' qui est jamais retiré du buffer ou un truc du genre) ?
 
vu qu'apparement d'après les docs ça utilise getch(), normalement le getch() est bloquant (s'il bloque pu...)




 
Je pense aussi que c'est un des soucis...
 
Mais alors, comment tu veux passer outre dans ce cas ?
 
Au depart je pensais que c'etait ssh... ben oui mais non, vu que via ssh ma becane le fait bien, et la becane de test pour le prof non...
 
Et oui, dans la specif de getch(), c'est marque que c'est bloquant, c'est pour ca que je galere un max :/


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°221920
R@NNIS
Tout est possible ou presque.
Posté le 30-09-2002 à 18:13:52  profilanswer
 

pk tu fais pas une sorte de scanf %s avec getch tout betement ?
 


---------------
Mes News
n°221931
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 18:28:03  profilanswer
 

R@NNIS a écrit a écrit :

pk tu fais pas une sorte de scanf %s avec getch tout betement ?
 
 




 
C'est possible, mais je pense que ca va faire le meme bordel nan ?
 
Vu que le wgetstr est base sur le getch...
 
Et encore pire, comment tu veux gerer ensuite les retour chariots style "oups j'ai fait une fote"...
 
Et ca y en a besoin :cry:
 
:cry:
 
:/


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°221932
bjone
Insert booze to continue
Posté le 30-09-2002 à 18:31:13  profilanswer
 

à la limite avant le wgetstr()
 
tu fait un:
 
while( getch() != '\n' );
 
ou un truc du genre....
si y'a de la merde dans le tampon ça permet de purger...

n°221933
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 18:32:02  profilanswer
 

bjone a écrit a écrit :

à la limite avant le wgetstr()
 
tu fait un:
 
while( getch() != '\n' );
 
ou un truc du genre....
si y'a de la merde dans le tampon ça permet de purger...




 
Pas con je tente


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°221934
bjone
Insert booze to continue
Posté le 30-09-2002 à 18:33:30  profilanswer
 

un tout simplement un getch()
derrière le wgetstr()
au cas ou celui-ci laisserai le '\n' dans le tampon...

n°221936
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 18:34:51  profilanswer
 

bjone a écrit a écrit :

à la limite avant le wgetstr()
 
tu fait un:
 
while( getch() != '\n' );
 
ou un truc du genre....
si y'a de la merde dans le tampon ça permet de purger...




 
Putain pas con du tout ca a marche :D
 
Me reste un probleme avec le focus maintenant... je sais pas pkoi mais ma typebar est tout en haut ...
 
:??:
 
Librairies de merde :cry:
 
Pourquoi de pourquoi de chez pourquoi :cry:


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°221937
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 18:36:30  profilanswer
 

bjone a écrit a écrit :

un tout simplement un getch()
derrière le wgetstr()
au cas ou celui-ci laisserai le '\n' dans le tampon...




 
Y a un bordel de probleme de focus la ...
 
:??:


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
mood
Publicité
Posté le 30-09-2002 à 18:36:30  profilanswer
 

n°221942
bjone
Insert booze to continue
Posté le 30-09-2002 à 18:47:29  profilanswer
 

alors là........
 
je sais po du tout du tout...

n°221943
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 18:47:36  profilanswer
 

en fait, je tape maintenant tout en haut, dans la mauvaise fenetre, et quand j'appuire sur enter ca valide, mais pas la bonne...
 
du moins quand tu tapes elle est en haut de la fenetre de chat...
 
Et quand tu appuies sur ENTER, il prends la valeur de la barre ou tu tapes en bas... cad rien...
 
Comment on dit au curseur : Ecrit ici, pas en haut :??:


Message édité par Tetedeiench le 30-09-2002 à 18:50:45

---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°221945
bjone
Insert booze to continue
Posté le 30-09-2002 à 18:51:25  profilanswer
 

ça le faisait pas avant le getch() ?
 
peut-être que le fait d'utiliser le getch() déplaçe quelque part la position du "curseur" ?

n°221946
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 18:53:27  profilanswer
 

bjone a écrit a écrit :

ça le faisait pas avant le getch() ?
 
peut-être que le fait d'utiliser le getch() déplaçe quelque part la position du "curseur" ?
 




 
avant le getch() ca partait en couille, carrement, alors...
 
En fait, je vais mieux m'expliquer.
 
Quand je tape au clavier, ca apparait a l'ORIGINE de la console, en haut a gauche.
 
Meme si le curseur est bouge juste avant dans la bonne fenetre.
 
Et quand je valide, ca va prendre la valeur de la bonne fenetre... cad rien.
 
Donc forcement ca part en couille :/
 
Comment on dit a curses que ce que l'user tape doit apparaitre la ou se trouve le curseur et pas a l'origine de la fenetre :??:
 
c'est pas wmove :/


Message édité par Tetedeiench le 30-09-2002 à 18:54:06

---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°221948
bjone
Insert booze to continue
Posté le 30-09-2002 à 18:55:45  profilanswer
 

alors attention:
 
le while( getch() != '\n' );
 
peut faire que le while(1) soit bloqué tant que tu as pas tapé un truc avec entrée...
 
en gros est-ce que ce que tu tapes c'est bien le wgetstr() qui le prends et pas le " while( getch() != '\n' ); " ?
 
--- AUSSI:
 
(sans le bricolage du while(..);
est-ce que la première saisie marche et les suivantes partent en boucle infinie ?  
 
si oui, alors:
 

Code :
  1. ....
  2. wgetstr(...);
  3. getch();
  4. ....


 
devrait mieux marcher car à ce moment c'est le wgetstr() qui vire pas le '\n' (ce qui est bizarre si il passe par getch())


Message édité par bjone le 30-09-2002 à 18:56:45
n°221949
bjone
Insert booze to continue
Posté le 30-09-2002 à 18:57:26  profilanswer
 

en gros peut-tu vérifier que tu envoyes bien ce que tu tapes ?

n°221952
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 18:59:08  profilanswer
 

bjone a écrit a écrit :

alors attention:
 
le while( getch() != '\n' );
 
peut faire que le while(1) soit bloqué tant que tu as pas tapé un truc avec entrée...
 
en gros est-ce que ce que tu tapes c'est bien le wgetstr() qui le prends et pas le " while( getch() != '\n' ); " ?
 
--- AUSSI:
 
(sans le bricolage du while(..);
est-ce que la première saisie marche et les suivantes partent en boucle infinie ?  
 
si oui, alors:
 

Code :
  1. ....
  2. wgetstr(...);
  3. getch();
  4. ....


 
devrait mieux marcher car à ce moment c'est le wgetstr() qui vire pas le '\n' (ce qui est bizarre si il passe par getch())




 
Le probleme viens pas de la, le probleme viens que les caracteres tapes au clavier n'apparaissent pas au bon endroit, meme en mettant le curseur dessus...
 
Sinon, en faisant le code avec le getch  apres le wgetstr, effectivement, ca marche pareil qu'avec le while..
 
mais le blem est que les caracteres sont pas au bon endroits :cry:
 


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°221953
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 18:59:59  profilanswer
 

bjone a écrit a écrit :

en gros peut-tu vérifier que tu envoyes bien ce que tu tapes ?




 
Ouaip, j'ai verifie, et j'envoie des chaines vides pour l'instant, car le contenu de la fenetre ou je veux taper est vide...
 
Vu que les caracteres apparaissent pas au bon endroit :sweat:


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°221954
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 19:00:30  profilanswer
 

Je revies dans 30 min ( en priant pour que tu soie encore la bjone :sweat: )


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°221973
bjone
Insert booze to continue
Posté le 30-09-2002 à 19:32:56  profilanswer
 

attends, ça veux dire qu'alors ce que tu tapes est consommé par le " while( getch() != '\n' ) ", le getch() derrière le wgetstr() devrait mieux marcher je pense...
 
la position d'affichage ne devrait pas changer ce que tu récupéres par ton datpack.message, normalement wgetstr() prends les caractères les uns après les autres, modifies le buffer et l'affichage, mais la position de l'affichage ne devrait pas influancer le contenu du buffer...


Message édité par bjone le 30-09-2002 à 19:35:10
n°221975
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 19:35:42  profilanswer
 

bjone a écrit a écrit :

attends, ça veux dire qu'alors ce que tu tapes est consommé par le " while( getch() != '\n' ) ", le getch() derrière le wgetstr() devrait mieux marcher je pense...
 
la position d'affichage ne devrait pas changer ce que tu récupéres par ton datpack.message, normalement wgetstr() prends les caractères les uns après les autres, modifies le buffer et l'affichage, mais la position de l'affichage ne devrait pas influancer le contenu du buffer...




 
c'est ce que je fais maintenant et c'est exactement le meme probleme qu'avant...
 
:/
 
Les caracteres tapes sont pas au bon endroit :/


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°221976
bjone
Insert booze to continue
Posté le 30-09-2002 à 19:36:44  profilanswer
 

tu as mis un while( ... );
ou juste un getch() ?

n°221978
bjone
Insert booze to continue
Posté le 30-09-2002 à 19:37:45  profilanswer
 

normalement si la correction avec le getch() marche, tu devrais envoyer le message, quelque soit la position de l'affichage...

n°221986
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 19:45:33  profilanswer
 

bjone a écrit a écrit :

normalement si la correction avec le getch() marche, tu devrais envoyer le message, quelque soit la position de l'affichage...




 
Ben ouai mais non :/
 
c bien ca le souci :/
 
Je fais un test et je te dis quoi...


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°221988
bjone
Insert booze to continue
Posté le 30-09-2002 à 19:52:08  profilanswer
 

bin si ça marche po c'est que la correction chie... :D
 
sinon tu peux ouvrir un fichier, et y logger ce que tu récupères dans le data.message...

n°221989
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 19:53:27  profilanswer
 

oui ben non du tout du tout...
 
Marche VRAIMENT pas :cry:
 
Les caracteres tapes ne sont pas dans la bonne fenetre :/


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°221990
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 19:54:19  profilanswer
 

bjone a écrit a écrit :

bin si ça marche po c'est que la correction chie... :D
 
sinon tu peux ouvrir un fichier, et y logger ce que tu récupères dans le data.message...




 
Je l'affiche ( car l'affichage de string marche au moins)
 
Et nada, il affiche des chaines vides... :/


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°221991
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 19:55:49  profilanswer
 

Il faudrait que quand je tape au clavier ca apparaisse dans la BONNE fenetre et le souci serait regle :/


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°221992
bjone
Insert booze to continue
Posté le 30-09-2002 à 19:56:09  profilanswer
 

en fait il faut po se soucier que l'affichage soit pas fait au bon endroit...
 
normalement ce que tu tapes va dans le buffer...
 
so ça y va po y'a po bon avec la gruge du getch(), ou que le problème est ailleurs...  [:spamafote]

n°221993
bjone
Insert booze to continue
Posté le 30-09-2002 à 19:57:26  profilanswer
 

ton buffer il est bien alloué ? (sur la pile, en global, ou par malloc ?)
 
edit: oui je suis con, il foit faire parti de la structure de datpack...


Message édité par bjone le 30-09-2002 à 19:59:41
n°221995
bjone
Insert booze to continue
Posté le 30-09-2002 à 19:58:21  profilanswer
 

c qui est bizarre c'est que le code fonctionne parfaitement sous Linux c ça ?

n°221998
bjone
Insert booze to continue
Posté le 30-09-2002 à 20:03:08  profilanswer
 

bon déjà vo mieux utiliser wgetch(), plustôt que getch()...

n°221999
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 20:07:41  profilanswer
 

bjone a écrit a écrit :

c qui est bizarre c'est que le code fonctionne parfaitement sous Linux c ça ?




 
Exactement...
 
Mais alors aprfaitement de chez parfaitement...


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°222002
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 20:08:52  profilanswer
 

bjone a écrit a écrit :

bon déjà vo mieux utiliser wgetch(), plustôt que getch()...




 
HU direct ca tape au bon endroit :eek:
 
Ca avance deja pas mal :love:
 
Je bidouille pour voir si ca peux aller mieux ;)


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°222004
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 20:11:29  profilanswer
 

alors :
 
Avec le while(wgetch(typebar)) avant de taper, ca tape bien le message comme sous linux, donc c'est cool.
 
Avec le wgetch() apres le wgetstr, a chaque caractere tape il envoie un message.
 
Donc, ca signifie que le wgetstr n'est PAS bloquant sous solaris, peu importe ce qu'on en dise...
 
Je vais essayer avec un wscanf...
 
Y a vraiment un souci...
 
EDIT ( Flood suckz)
 
Avec le wcanw ca marche deja bcp mieux...
 
Le probleme restant etant que si le thread affiche dans la fenetre en haut un truc, le curseur ira aussi... faut que je trouve le moyen de restaurer le curseur ( ptet qu'avec wprintw... je teste la)


Message édité par Tetedeiench le 30-09-2002 à 20:20:36

---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°222012
bjone
Insert booze to continue
Posté le 30-09-2002 à 20:32:43  profilanswer
 

oki sinon là:
 
http://nscp.upenn.edu/aix4.3html/l [...] /getch.htm
 
y'a ça:
 

Citation :


The Importance of Terminal Modes
The output of the getch subroutines is, in part, determined by the mode of the terminal. The following describes the action of the getch subroutines in each type of terminal mode:
 
Mode Action of getch Subroutines  
NODELAY Returns a value of ERR if there is no input waiting.  
DELAY Halts execution until the system passes text through the program. If CBREAK mode is also set, the program stops after receiving one character. If NOCBREAK mode is set, the getch subroutine stops reading after the first new line character.  
HALF-DELAY Halts execution until a character is typed or a specified time out is reached. If echo is set, the character is also echoed to the window.  
 
Note: When using the getch subroutines do not set both the NOCBREAK mode and the ECHO mode at the same time. This can cause undesirable results depending on the state of the tty driver when each character is typed.


 
donc ça pue le problème de configuration de terminal...

n°222013
bjone
Insert booze to continue
Posté le 30-09-2002 à 20:34:08  profilanswer
 

donc il semblerait que tout simplement tu sois en NODELAY, le wgetstr() récupérant un ERR de wgetch(), deviens non bloquant...

n°222017
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 20:37:36  profilanswer
 

ok, mais la, ca amrche comme je le veux ;)
 
Bon ok apres avoir affiche un message le curseur apparait a cote de la ligne affichee mais franchement, spagrave.
 
car des que tu continues a taper ca viens a la suite de ce que tu as tape avant l'affichage ;)
 
Me reste un dernier test et c bon ^^


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°222018
Tetedeienc​h
Head Of God
Posté le 30-09-2002 à 20:39:36  profilanswer
 

ET PAF dedans.
 
le wscanw ne gere pas les esapces.
 
:cry:
 
par exemple, si je tape "salut toi" au clavier
 
ca apparait a l'ecran comme "saluttoi" ( dans la barre ou je tape).
 
Et quand je valide, dans la fenetre de chat, ca apparait en tant que "salut"
 
:cry:
 
Vais jamais m'en sortir :/
 
Pourtant j'ai fait un wscanw(typebar, "%s\n", datpack.message);


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
n°222021
bjone
Insert booze to continue
Posté le 30-09-2002 à 20:43:05  profilanswer
 

la solution universelle je pense:
 
http://nscp.upenn.edu/aix4.3html/l [...] DF4067davi
 

Citation :


nodelay( typebar, false );


 
à l'extérieur du while(1), et tu gardes le wgetstr();

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

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

  [C,Curses,solaris]recuperer une chaine tappee au clavier AVEC ESPACES

 

Sujets relatifs
[C Win32] Comment récupérer le nom d'utilisateur ?réalisation IHM sur Windows et Solaris
[Win32] [RESOLU] Recuperer la liste des processusExtraire un nom de fichier d'une chaine de caractère
c koi la fonction pour rechercher un mot dans une chaine de caractèresRécuperer en ligne les donnés d'un compte mail...PLEASE HELP !
Récupérer des données sur des sites Internet et les utiliser ???[flash] un truc tout bete, recuperer la valeur d'un bouton radio
Récuperer une base MySQL dans Excel, comment faire ?[VBA - Excel] Comment recuperer le nom du fichier courent ?
Plus de sujets relatifs à : [C,Curses,solaris]recuperer une chaine tappee au clavier AVEC ESPACES


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