C++: getch() ne fonctionne pas...?

Résolu/Fermé
Teemsis - Modifié par Teemsis le 25/06/2011 à 12:05
 Teemsis - 25 juin 2011 à 12:26
Bonjour,

excusez moi mais je voudrais savoir quel est le problème de mon programme s'il vous plait.

#include <cstdlib>
#include <iostream>
#include <vector>
#include <conio.h>

using namespace std;

int main ()
{
int i;
char c;
vector<char> buffer;
do
{
c=getch();
buffer.push_back(c);
}
while (c !='\n');
for(i=0;i<buffer.size();i++)
{
cout << buffer[i];
}
system("PAUSE");
return 0;
}

Une fois compilé, lorsque j'écris dans la console on peut voir ma saisie (le getch() n'est pas censé afficher il me semble), et lorsque je fais Enter le programme ne s'arrête pas.

Une idée?

Merci d'avance.


6 réponses

Salut, essaye avec do while (c!=13 && c!=10).
0
Non ça ne marche toujours pas, mais bizarrement avec getchar() tout va bien...
Mais c'est getch() que je dois utiliser.

Merci quand même Nyoho.
0
C'est étrange chez moi tout va bien...
Tu utilises quel IDE?
0
Dev c++ (version mingw) avec wine sous Ubuntu 10.04.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Je pense que le problème vient de là, désolé mais je ne peux pas t'aider.
Bonne chance.
0
Pas de problème merci quand même.

En effet ça doit venir du fait que sous windows getch() est contenu dans conio.h alors que sous linux getch() est contenu dans curses.h.

D'un côté j'ai Dev c++ qui ne veut pas de curses.h et de l'autre j'ai linux qui ne veut pas de conio.h...
0