Rechercher : dans
Par :

C : Vider Memoire Tampon

Dernière réponse le 2 avr 2009 à 19:26:33 WRIDANIOS, le 8 avr 2008 à 11:40:00 
 Signaler ce message aux modérateurs

Bonjour,
Je programme en C ,au niveau des etude, depuis 10/2007, mon problem est lorsque je v saisir un caractaire , le compilateur depase la saisie , j'ai utiliser scanf("%c",&car) ou car=getchar()
mais le meme problem , j'ai bien conclu que c'est a cause de la memoir tampon , ils ont ma dis de vider la memoire tampon avant d'effectuer la saisie . j'ai essayer 'fflush(0)' du header "unistd.h" , mes c'est tjr le meme probleme . Quoi faire, meci d'avance...
GET BUSY................UBUNTU.....

Configuration: Linux
Firefox 2.0.0.13

Meilleures réponses pour « C : Vider Memoire Tampon » dans :
[Gravure] Buffer underrun (tampon vide) VoirLe problème de vidage de tampon (buffer underrun) est une erreur classique intervenant lors de la gravure d'un CD ou d'un DVD. Cette erreur provient du fait qu'un graveur doit nécessairement graver en continu, ce qui signifie que les données à...
[Windows] Vidage de la mémoire physique - Fichier Memory.dmp VoirSur les systèmes Windows NT / Windows 2000 / Windows XP, lors d'un crash violent du système, le système procède à un vidage de la mémoire, consistant à copier le contenu de la mémoire vive (RAM) dans un fichier sur le disque dur. Le fichier ainsi...

1

WRIDANIOS, le 8 avr 2008 à 12:01:36

Personne pe m'aider .. svp.. GET BUSY................UBUNTU.....

Répondre à WRIDANIOS

2

civic89, le 5 jun 2008 à 14:56:52

Salut, pour vider la memoire tampon, il suffit d'ouvrir le registre
Cliquez sur le bouton Démarrer, sur Exécuter… puis saisissez Regedit. Validez par OK.
Rendez vous à la clé HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

Dans la partie droite de la fenêtre, double cliquez alors sur la valeur ClearPageFileAtShutdown puis saisissez 1 dans le champ Données de la valeur. Cliquez sur OK.
Fermez la base de registres puis redémarrez votre ordinateur pour valider les changements.
a chaque demarrage, la mémoire sera vidée.

Répondre à civic89

4

PIKATOUT, le 30 mar 2009 à 23:58:02

Bonsoir, c'est a la fermeture quand tu éteind le PC que le fichier d'échange (mémoire virtuelle) aussi appelé "fichier Swap"sera nettoyé : Pour des raisons de sécurité et d'optimisation, il est possible d’activer la purge de ce fichier à l'arrêt de la machine. Cette fonction est désactivée par défaut car elle augmente « sommairement » le temps de fermeture du système d'exploitation.Éditez la valeur en double cliquant sur la valeur :
ClearPageFileAtShutdown
et donnez-lui la valeur 1.

Répondre à PIKATOUT

5

PIKATOUT, le 31 mar 2009 à 00:01:52

Ce n'est pas une mémoire tampon;mais bien un fichier d'échange créé sur le disque dur, c'est la mémoire virtuelle.

Répondre à PIKATOUT

8

fiddy, le 31 mar 2009 à 00:26:33
  • +1

Salut,
Non t'y es pas là. Effectivement le problème est dû au tampon clavier et non à fichier d'échange créé sur le disque dur.
Google is your friend

Répondre à fiddy

9

 PIKATOUT, le 2 avr 2009 à 19:26:33

Oups !!..je n'ai tout lu,okay fiddy merci de me le faire remarquer.

Répondre à PIKATOUT

3

med003, le 30 mar 2009 à 23:43:16

Pour vider la memoire tampon utilise fflush(stdin) avant de lire le caractere et ça va marcher

Répondre à med003

6

fiddy, le 31 mar 2009 à 00:17:32
  • +1

Non, fflush(stdin) a un comportement indéfini.
Google is your friend

Répondre à fiddy

7

fiddy, le 31 mar 2009 à 00:18:58
  • +1

Salut,
Pour vider le buffer clavier en C, il faut faire :

char c;
while( (c=getchar())!='\n' && n!=EOF );

Cdlt
Google is your friend

Répondre à fiddy