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

  FORUM HardWare.fr
  Programmation
  C

  Comment transmettre "EOF" à un programme à partir du clavier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment transmettre "EOF" à un programme à partir du clavier

n°1044877
Dosantos
Posté le 12-04-2005 à 20:52:21  profilanswer
 

Salut a tous,
 
J'ai eu à texter un petit programme qui devrait compter le nombre de ligne.
 
Le probleme c'est que je n'arrive pas à bien faire fonctionner le programme car il ne reconnait pas la fin de l'excetion lorsque j'essaye de lui transmettre EOF.
 
Merci pour votre aide

mood
Publicité
Posté le 12-04-2005 à 20:52:21  profilanswer
 

n°1044880
elianor
bannie 17 fois
Posté le 12-04-2005 à 20:55:07  profilanswer
 

Ctrl-D


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
n°1044881
push
/dev/random
Posté le 12-04-2005 à 20:56:10  profilanswer
 

non non montre nous le code plustôt je le sens bien  :)

n°1044882
elianor
bannie 17 fois
Posté le 12-04-2005 à 20:56:52  profilanswer
 

push a écrit :

non non montre nous le code plustôt je le sens bien  :)


 
tu vas encore te moquer :o


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
n°1044891
push
/dev/random
Posté le 12-04-2005 à 20:59:49  profilanswer
 

elianor a écrit :

tu vas encore te moquer :o


c'est pas mon genre  :non:  
je suis loin de pouvoir me moquer mais rien ne m'empêche de rigoler  :whistle:

n°1044937
jesus_chri​st
votre nouveau dieu
Posté le 12-04-2005 à 21:41:14  profilanswer
 

sous dos : Ctrl+Z

n°1044939
Dosantos
Posté le 12-04-2005 à 21:41:18  profilanswer
 

Elionor voila le code en quetion
 
#include <stdio.h>
 
void main (void) {
 
 int c ;
 
 while (c = getchar() != EOF )
 
  printf ("%d\n", c) ;
 
 printf ("%d - at EOF\n", c) ;
 
}

n°1044943
Dosantos
Posté le 12-04-2005 à 21:47:49  profilanswer
 

oui oui Push voila le code en question !#include <stdio.h>
 
void main (void) {
 
 int c ;
 
 while (c = getchar() != EOF )
 
  printf ("%d\n", c) ;
 
 printf ("%d - at EOF\n", c) ;
 
}

n°1044960
Sve@r
Posté le 12-04-2005 à 22:05:07  profilanswer
 

Dosantos a écrit :

oui oui Push voila le code en question !#include <stdio.h>
 
void main (void) {
 
 int c ;
 
 while (c = getchar() != EOF )
 
  printf ("%d\n", c) ;
 
 printf ("%d - at EOF\n", c) ;
 
}


 
Ouh putain... pourvu que Taz ne passe pas ici...

int main (void)
{
...
   while ((c = getchar()) != EOF )
...
}


Message édité par Sve@r le 12-04-2005 à 22:10:16
n°1044966
Dosantos
Posté le 12-04-2005 à 22:10:00  profilanswer
 

Desolé , je me suis trompé sur le code précedent !
 
voici le bon:
 
#include <stdio.h>
 
void main(void) {
 
 int nc  ;
 
 nc = 0 ;
 
 while (getchar () != EOF) {
 
  ++nc ;
 
     printf ("%d\n", nc ) ;
 
 }
 
}

mood
Publicité
Posté le 12-04-2005 à 22:10:00  profilanswer
 

n°1044974
Pillow
'cos the trees won't talk
Posté le 12-04-2005 à 22:20:59  profilanswer
 

Indice : une ligne se termine avec '\n' [:petrus75]
 
Indice n°2 : man getchar


Message édité par Pillow le 12-04-2005 à 22:21:45
n°1044985
Dosantos
Posté le 12-04-2005 à 22:26:24  profilanswer
 

encore un fois de plus desole !  
c'etait encore une fois de plus le mauvais code !!
Sorry, es tut mir leid!!!!
 
voici à present le bon:
 
#include <stdio.h>
 
void main (void) {
 
 int c, nl ;
 
 nl = 0 ;
 
 while( (c = getchar() ) != EOF)
 
  if ( c == '\n' )  
 
   ++nl ;
 
  printf("%d\n", nl) ;
 
}

n°1044992
Pillow
'cos the trees won't talk
Posté le 12-04-2005 à 22:29:57  profilanswer
 

main doit retourner un int :o

n°1045642
Sve@r
Posté le 13-04-2005 à 12:05:12  profilanswer
 

Dosantos a écrit :

encore un fois de plus desole !  
c'etait encore une fois de plus le mauvais code !!
Sorry, es tut mir leid!!!!
 
voici à present le bon:

#include <stdio.h>
void main (void)
{
 int c, nl ;
 nl=0 ;
 while ((c=getchar()) != EOF)
  if (c == '\n')  
   ++nl;
 
 printf("%d\n", nl);
}



 
Mis à part que "main" est de type "int" comme l'a dit Pillow, je vois pas ce qui peut merder dans ce programme... Peut-être des accolades pour plus de lisibilité...
 
Si tu veux le tester depuis Linux/Unix, tu le lances et pour finir ta saisie => CTRL-D
Si c'est depuis un autre OS que je ne nommerai pas, => CTRL-Z (je crois)

n°1045672
Emmanuel D​elahaye
C is a sharp tool
Posté le 13-04-2005 à 12:20:51  profilanswer
 

Sve@r a écrit :

Si c'est depuis un autre OS que je ne nommerai pas, => CTRL-Z (je crois)


VMS, Mac OS, Psos ? Il vaut mieux nommer, c'est plus précis.  
 
Et puis, il n'y a aucune honte à utiliser MS-DOS/Windows ou Windows NT pour lesquels Ctrl-Z est bien la fin de lecture.
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1045712
skelter
Posté le 13-04-2005 à 12:55:00  profilanswer
 

Sve@r a écrit :

Ouh putain... pourvu que Taz ne passe pas ici...

int main (void)
{
...
   while ((c = getchar()) != EOF )
...
}



 
pourquoi ? c est de type int, l'erreur aurait été de declarer c en char

n°1046591
Sve@r
Posté le 13-04-2005 à 21:24:38  profilanswer
 

skelter a écrit :

pourquoi ? c est de type int, l'erreur aurait été de declarer c en char


 
L'erreur a été de déclarer "main" en void  :D  :sol:


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

  Comment transmettre "EOF" à un programme à partir du clavier

 

Sujets relatifs
creer un jar malgré un programme qui compile pas ?Appeler une jFrame à partir d'une autre les 2 dans la même classe
Comment automatiser mon programme qui affiche l'heureComment quitter le programme à tout moment?
Utiliser "Anatomic" a partir d'un VBSA partir d'une class changer la variable d'une aplet et la rafraichir
Comment reprogrammer la fonction strfry a partir dfe pointeur?enregistrer un fichier temporaire à partir d'une servlet
[HTML/CSS/JS] Ya un moyen d'ouvrir un lien dans FFox à partir de IE ?Probleme creation de fichier excel a partir de php
Plus de sujets relatifs à : Comment transmettre "EOF" à un programme à partir du clavier


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