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

  FORUM HardWare.fr
  Programmation
  C

  [C/UNIX] Curses: faire un printf normal

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C/UNIX] Curses: faire un printf normal

n°700439
Suri
Darksurious
Posté le 15-04-2004 à 18:00:50  profilanswer
 

j'ai un ptit pb,  
j'ai un prompt qui attend une commande, la readline est geree par la lib curses, le pb c que le seul moyen d'afficher qquechose, c d'utiliser printw.. le pb c que j'execute des commandes (fork+execve) et donc elles utilisent des printf (write) de base, pas de printw... ce qui gene un peu les curses, qui ignorent completement tout ce qui n'est pas affiche avec ses fonctions...
 
si qqu'uyn a une reponse, bienvenue :D
 
 
la doc en rajoute une couche:
scanw(), printw(): Works just like scanf() and printf(), but in a Curses environment. Avoid use of scanf() and printf() in such an environment, which can lead to bizarre results.
 
 
help please :cry:


Message édité par Suri le 15-04-2004 à 18:02:51

---------------
Suri.morkitu.org : Balades au coeur de la ville...
mood
Publicité
Posté le 15-04-2004 à 18:00:50  profilanswer
 

n°700442
Dion
Acceuil
Posté le 15-04-2004 à 18:03:03  profilanswer
 

J'ai une reponse !

n°700481
Tetedeienc​h
Head Of God
Posté le 15-04-2004 à 18:51:20  profilanswer
 

Bon, je me lance, même si à mon humble avis, suri est 1 000 000 de * plus fort que moi en C.
 
Avec ma petite expérience en curse, je peut te dire que j'ai jamais trouvé le moyen de faire passer du printf/scanf quand curse était activé.
 
J'imagine donc que la seule solution serait de forker, de faire un pipe, de faire en sorte que le fils redirige stdin et stdout dans l'pipe, et que le père travaille en collaboration avec le fils pour tout cela...

n°700490
Tetedeienc​h
Head Of God
Posté le 15-04-2004 à 19:01:22  profilanswer
 

Pour détailler, tu vas faire un process qui va jouer le rôle de proxy, de traducteur, entre le process qui tourne dans l'execve et ton itnerface en curse...
 
Une chose est claire : c'est pas optimal, mais c'est tout ce que j'ai à te proposer :/

n°700492
Suri
Darksurious
Posté le 15-04-2004 à 19:03:00  profilanswer
 

Tetedeiench a écrit :

Bon, je me lance, même si à mon humble avis, suri est 1 000 000 de * plus fort que moi en C.
 
Avec ma petite expérience en curse, je peut te dire que j'ai jamais trouvé le moyen de faire passer du printf/scanf quand curse était activé.
 
J'imagine donc que la seule solution serait de forker, de faire un pipe, de faire en sorte que le fils redirige stdin et stdout dans l'pipe, et que le père travaille en collaboration avec le fils pour tout cela...


 
ouais mais ya vraiment pas moyen de faire ca avec des pipes.. au pire, on va tout refaire en terminfo, avec des bons vieux termcaps moisis.
 
mais bon, ya deja des pipes un peu partout (a cause ben du pipe et des redirections du shell) et ca empiete sur la partie de qqu'un d'autre qui a pas le tps de se faire chier avec ca en l'integrant.
 
enfin... merci pour ton idee qd meme :)
(je suis pas 100000 fois meilleur que toi en C, surement pas :D)


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°700498
Tetedeienc​h
Head Of God
Posté le 15-04-2004 à 19:10:27  profilanswer
 

suri a écrit :


 
ouais mais ya vraiment pas moyen de faire ca avec des pipes.. au pire, on va tout refaire en terminfo, avec des bons vieux termcaps moisis.
 
mais bon, ya deja des pipes un peu partout (a cause ben du pipe et des redirections du shell) et ca empiete sur la partie de qqu'un d'autre qui a pas le tps de se faire chier avec ca en l'integrant.
 
enfin... merci pour ton idee qd meme :)
(je suis pas 100000 fois meilleur que toi en C, surement pas :D)


 
Ben de rien, termcap et co, je connais pas :/
 
( et si tu l'es, je t'assure :D )

n°700774
Suri
Darksurious
Posté le 16-04-2004 à 09:58:00  profilanswer
 
n°701271
Dion
Acceuil
Posté le 16-04-2004 à 16:57:20  profilanswer
 

tu uppes ?

n°701588
Tetedeienc​h
Head Of God
Posté le 17-04-2004 à 11:21:39  profilanswer
 

il uppe.

n°701591
Suri
Darksurious
Posté le 17-04-2004 à 11:24:56  profilanswer
 

nan mais vous fatiguez pas :D
j'ai fait qque recherches moi meme (je postais pour un pote la) et tout l'affichage des curses s'effectue sur le fd stdscr (qui est le handle sur la fenetre curses) donc c normal que ce qui est ecrit sur stdout s'affiche pas (ou pas correctement)
 
jpense qu'on va laisser tomber et se rabattre sur une techno encore plus vieille.... :D
 
merci :)


---------------
Suri.morkitu.org : Balades au coeur de la ville...

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

  [C/UNIX] Curses: faire un printf normal

 

Sujets relatifs
Est-ce normal d'avoir 200 lignes de code pour en afficher 4 ?[resolu tout seul ^^] Probleme avec socket & printf
problème socket unix - lectureProbleme d'execution de la commande Unix echo via le perl
[PHP] convertir date fr type 27/02/2001 en timestamp unix correct[Perl] utilisé une librairie Win32 dans un script pouvant rouler unix
Comment faire un démon sous Linux/unix?IPC UNIX avec C# .net
UNIX et PHPsocket AF_UNIx (ou AF_LOCAL)
Plus de sujets relatifs à : [C/UNIX] Curses: faire un printf normal


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