"ESCAPE SEQUENCE" Jeg har problemer med '\r' i en do-while-løkke!
Nedenfor har jeg lavet en mindre del af mit program (som virker:-), så det er nemmere at finde ud af.Mit problem ligger i at når jeg har kørt do-while-løkken én gang sætter den enter som aktiv (tror jeg) og bliver ved med at køre i ring!
Mvh Jacob
//--------------------------------------------------
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
int main()
{
bool n;
string password="hemmeligt";
string clear20="--------------------";
string ipass;
int t;
char temp;
do
{
n = true;
ipass = clear20; //Sætter længden til 20
cout << "\nIndtast password (Max 20 tegn)\n"; //indtast nyt password
t=0;
while (temp != '\r')
{
temp = getch(); //bytter charakterene ud med en * og skriver værdierne ind i ipass
if (temp != '\r' && t<20)
{
ipass.at(t)=temp;
cout << '*';
t++;
}
}
ipass.resize(t);
if (ipass == password) //Tjekker password med oprindeligt password
n = false; //går ud af programmet
else
cout << "indtast igen:"; //!!!!!Her skulle man gerne starte forefra!
}
while(n);
return 0;
}