C (sous Linux) -> Out of memory

C (sous Linux) -> Out of memory - Programmation

Marsh Posté le 11-05-2001 à 09:08:46    

Oui, enfin, celui qui est Out of memory, c'est pas le système, c'est moi :lol:
 
Je ne me souviens pas de la combinaison de touches pour provoquer le EOF.
 
J'ai testé un truc tout bête :
 
char c = 'a';
int compteur = 0;
 
while ((c = getchar()) != EOF)
{
    if (c == ' ')
        ++compteur;
}
printf ("Il y a %2d espaces", compteur);

 
oui oui, mais ... Comment provoquer ce EOF ?
J'ai essayé avec Ctrl+C, je sors du prog' et c'est tout, le printf ne s'exécute pas.
 
Quelle est cette fichue combinaison ?


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
Reply

Marsh Posté le 11-05-2001 à 09:08:46   

Reply

Marsh Posté le 11-05-2001 à 09:19:42    

c'est pas Ctrl+D ou Ctrl+Z ?

Reply

Marsh Posté le 11-05-2001 à 09:33:23    

Je croyais que c t pas une combinaison de touche mais une sorte de constante reservée pour les fin de flux ...

Reply

Marsh Posté le 11-05-2001 à 09:43:17    

Merci pour vos réponses les gars
 
j'avais po l'air fin en faisant ctrl-C
 
"ben ... Bouhhhhhh, ça marche po"
 
:sarcastic:
 
:lol:


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
Reply

Marsh Posté le 11-05-2001 à 10:06:32    

maliaure>
Le EOF qui est dans la table ASCII n'est PAS le caractere qui est envoye pour coder la fin de fichier, sinon reflechis, comment ferais-tu pour coder ce caractere dans un fichier si a quand tu essaies de le lire il provoque la fin de la lecture :D.
EOF, n'est donc pas un caractere particulier, c'est juste un cas d'erreur de la fonction systeme lorsque celui-ci arrive explicitement a la fin du flux. Pour la fonction systeme read, elle renvoie un nombre d'octets lus de 0.
 
C'etait juste une remarque sans lien avec la question posee par Aricoh ;).
Bye
LEGREG

Reply

Marsh Posté le 11-05-2001 à 10:14:33    

> Aricoh
Donc en gros, c'est pas EOF qu'il faut tester.
Il faut que tu te réserve un caractère que ton prog interprètera comme fin du traitement. ESC par exemple ! (ASCII 27 ou 0x1B)


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Sujets relatifs:

Leave a Replay

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