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

 


Dernière réponse
Sujet : [C] Vider stdin
Taz Mais c'est quoi cette psychose sur la bufferisation de stdin ? Quel problème rencontres-tu ?

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
Taz Mais c'est quoi cette psychose sur la bufferisation de stdin ? Quel problème rencontres-tu ?
olivthill Dans quel environnement ? DOS ? Unix ?
 
En tous cas, stdin n'est pas un buffer, mais un pseudo fichier.
La lecture du contenu de stdin ne se fait pas avec char a = stdin[0], mais avec un fread() ou une fonction de lecture de flux équivalente.
Donc, il n'est pas possible de faire un memset() de stdin. Donc stdin n'a pas de taille a priori.
 

Citation :

à la moindre vu d'EOF, la console propose un input...

Que signifie "propose" ici ?

Citation :

stdin est-il ... commun à plusieurs applications ou est-il initialisé pour chaque programme?

Cela dépend comment est redirigé stdin. En général, stdin n'est redirigé que vers une application, mais rien n'empêche que cette fonction redirige le flux stdin qu'elle a lue vers une autre application.

Psyloh Salut! J'aimerais savoir ce qu'il en est pour stdin...
 
Je voudrais créé une fonction qui s'assure que le buffer est vide... Or, j'ai remarqué qu'à la moindre vu d'EOF, la console propose un input...
Je me suis dis que la seule solution serait d'insérer un EOF au début du buffer, vous en pensez quoi?? C'est pas super rigoureux, non?
Si c'est pas une solution top top, je me suis dis qu'il serait simple d'utiliser memset si je pouvais connaitre la taille du buffer...
 
En fait, je suis pas super calé dans le fonctionnement des buffers... J'ai un niveau basique! Si vous avez des link vers des pages qui pourraient me permettre de trouver la solution par moi-même ça serait super sympa!
 
En réalité je me pose quelques questions:
- Est-ce que le buffer se charge d'effacer tout ce qui se trouve après EOF?
- Y'a-t-il un moyen de savoir si un buffer est vide?
- stdin est-il un buffer commun à plusieurs applications ou est-il initialisé pour chaque programme?
- Y'a-t-il un moyen de récupérer sa taille?
 
Merci!

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