Longueur maximale d'une entrée clavier sous DOS via scanf/gets ?

Longueur maximale d'une entrée clavier sous DOS via scanf/gets ? - C - Programmation

Marsh Posté le 15-11-2004 à 17:41:22    

Bonjour à tous !
 
Je tente de faire un simple programme en C pour récupérer une chaine de caractères. Cependant lorsque l'entrée dépasse 127 caractères le PC se bloque, refuse d'afficher plus de caractères et émet des beeps.
 
Je suis avec le compilateur DJGPP et un vieux DOS (celui de Windows 98 en fait).
J'ai le même problème directement dans le prompt DOS (max 127) cependant là je peux régler le problème en ajoutant  

shell=command.com /u:250

dans le config.sys.  
 
C'est dans les entrées de mon programme (via scanf ou gets, ca ne change rien) que j'aimerais dépasser les 127...
 
merci :)

Reply

Marsh Posté le 15-11-2004 à 17:41:22   

Reply

Marsh Posté le 15-11-2004 à 18:00:30    

y en a pas. scanf et gets sont déconseillé. utilise fgets

Reply

Marsh Posté le 15-11-2004 à 18:12:29    

Taz a écrit :

y en a pas. scanf et gets sont déconseillé. utilise fgets


Je crois que c'est une limite du BIOS (au pire, émulée par windows) :p.  
 
fgets ou autre, ça ne changerait à priori rien, puisque la limite se situe au niveau de l'éditeur de ligne du système (celui qui te permet d'utiliser la toucher Delete, etc.).
 
Il lui faut donc chopper les charactères un par un en utilisant ce qui se trouve dans <conio.h>
 

Reply

Marsh Posté le 15-11-2004 à 18:16:38    

moi je donne très peu dans ce genre de merde. Quand j'ai un problème, j'utilise libreadline :o

Reply

Marsh Posté le 15-11-2004 à 18:25:14    

Taz a écrit :

moi je donne très peu dans ce genre de merde. Quand j'ai un problème, j'utilise libreadline :o


C'est du GPL. Et ils s'obstinent depuis toujours à ne pas la passer LGPL, ce qui rend son usage très restreint.

Reply

Marsh Posté le 15-11-2004 à 18:33:20    

bon pour les ******************** qui font du DOS et des gets, c'est pas vraiment une perte. Je suis très content que librealine soit GPL

Reply

Marsh Posté le 15-11-2004 à 18:38:13    

Taz a écrit :

bon pour les ******************** qui font du DOS et des gets, c'est pas vraiment une perte. Je suis très content que librealine soit GPL


Bah pas moi. Elle est vraiment simple à utiliser, performante, et rend les e/s super conviviales. Bref, elle mériterait d'être utilisée dans tous les projets du monde.  
 
Et pourtant, comme elle t'oblige à sortir ton code en GPL (ce qui est hors de question pour un sacré paquet de projets), bah elle est inutilisable.  
 
Essaye de passer une journée à utiliser dbx sans IHM, et on verra si tu es toujours heureux que readline soit GPL (certes, Sun pourrait payer 3 indiens pour recoder le truc, mais bon, c'est un autre débat...)
 

Reply

Marsh Posté le 15-11-2004 à 18:41:32    

pourquoi diable voudrais-tu que des gens travaillent à l'oeil pour d'autres qui ne jouent pas le jeu ?

Reply

Marsh Posté le 15-11-2004 à 18:51:21    

Taz a écrit :

pourquoi diable voudrais-tu que des gens travaillent à l'oeil pour d'autres qui ne jouent pas le jeu ?


 
Google utilise des dizaines de milliers de serveurs linux, pourtant je les vois pas envoyer de chèque à Linus ou à RMS à la fin de chaque mois ? Il y a un paquet de trucs qui sont en GPL qui profitent à d'autres, et c'est encore pire avec d'autres license (BSD ou zlib viennent en tête immédiatement). C'est pas la lib readline qui fera un gros changement dans l'économie du monde.
 
Moi je dis juste que cette lib est l'exemple parfait de la lib qui mérite d'être en LGPL plutôt qu'en GPL. Ca implique toujours que toute modif (pour gérer de la couleur, des bips via une API de son, ou autres si ça te chante) continuent à devoir être public, mais qu'une bête utilisation de la lib doit être possible même pour un truc fermé.  

Reply

Marsh Posté le 15-11-2004 à 18:58:33    

Ben moi je comprends le point de vue des gens de librealine et j'applique la même politique sur ma bibliothèque

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed