C++: getch() ne fonctionne pas...? [Résolu/Fermé]

Signaler
-
 Teemsis -
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).
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.
C'est étrange chez moi tout va bien...
Tu utilises quel IDE?
Dev c++ (version mingw) avec wine sous Ubuntu 10.04.
Je pense que le problème vient de là, désolé mais je ne peux pas t'aider.
Bonne chance.
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...