C - FeOF (stdin) -Comment indiquer la fin de l'entrée dans Windows?
Question
int x,y,m;
for(;;){
m=scanf("%d %d",&x,&y);
if (m!=2 || m==EOF){
break;
}
else{
printf("/%d/%d/\n",x,y);
}
}
if (feof ( stdin )){
printf("End of input\n");
}else if(m!=2){
printf("There was an error\n");
}
Sous linux Ctrl + D indique la fin de l'entrée, et pour les fenêtres ctrl + z est censé faire l'affaire, mais il ne fonctionne pas. Toutes les idées?
La solution
Essayez d'appuyer sur Entrée après Ctrl + z
Si toujours pas de chance, s'il vous plaît essayer la version C ++:
#include <iostream>
int x, y;
while ( std::cin >> x >> y )
std::cout << '/' << x << '/' << y << "/\n";
if ( std::cin.eof() )
std::cout << "End of input\n";
else
std::cout << "There was an error\n";
et voir si elle fait mieux?
Autres conseils
#include<stdio.h>
#include<conio.h>
void main (void)
{
int x,y,m;
for(x=0;x>=0;x++){
m=scanf("%d %d",&x,&y);
if (m!=2 || m==EOF){
break;
}
else printf("/%d/%d/\n",x,y);
}
if (feof ( stdin )){
printf("End of input\n");
}
else if(m!=2){
printf("There was an error\n");
}
getch();
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow