Eingabetaste einlesen wie???
-
Hallo wie lass ich bzw ein beispiel:ich schreibe einen text in ein textdokument rein und will das mit der Eingabetaste beenden wie mach ich das ?? Vielen dank für eure Antworten im Voraus
-
Was hast du schon für code geschrieben?
Was für ein Ergebnis willst du erzielen?
An welcher stelle treten denn probleme auf?
Was hast du mit den ganzen Punkten und Kommatas gemacht^^?
-
Hi !
Hier ist eine Anregung:#include <fstream> #include <conio.h> // getche using namespace std; int main() { ofstream ofs; char c; ofs.open( "Eingabe.txt" ); if(!ofs) { return 0; } while ( ( c = getche() ) != 13 ) { ofs.put( c ); } ofs.close(); return 0; }Mit getche() siehst du bereits während der Eingabe, was in die Datei geht.
Gruß,
p.
-
ja danke proggingmania also ich werds mal so machn
zu meinem code der code ist in c aber ist ja fast identisch mit c++
das eingegebene darf nicht auf dem bildschirm erscheinen
Inkremente und exkremente hab ich mal ausgelassen
zum code:...
int x=0;
char a,password[80],kontrolle[]="hallo";while(x)
{
a=getch();
if(a!=EINGABETASTE) //also hier wie mach ich das bei eingabetaste zu else
{
printf("* ");
password[x]==a;
x++;
}
else
{
x=0;
}
}if(strcmp(password,kontrolle)==0)
printf("Passwort korrekt");
else
printf("Passwort falsch");
-
Also die 13 ist die eingabetaste danke also muss ich schreiben if(x!=13) Vielen dank
-
In C geht das natürlich auch.
Ich würd aber nicht buchstabenweise einlesen, sondern gleich den gleichen String:#include <stdio.h> int main () { char* kontrolle = "Hallo"; char passwort[80+1]; while( strcmp( kontrolle, passwort ) != 0 ) { printf("\nPasswort eingeben: " ); scanf( "%80s", passwort ); } return 0; }Vielleicht noch eine Begrenzung der Anzahl der Eingabeversuche begrenzen.
Gruß,
p.
-
aber dann erscheint das doch aufm bildschrim oder der string ich will ja pro eingetippenem buchstabe ein "*" einblenden lassen sry wenn ich falsch liege aber du hast mir sehr geholfen danke
-
Ja, verstehe, war wohl grade n bisschen müde.
Hat ja was mit den '*' Zeichen.
Ich würd da noch ein bisschen Kosmetik reinmachen:
Abbruchbedingungen:- Maximale Anzahl der Buchstaben fürs Passwort begrenzen, z.B. 20,
denn sonst riskierst du einen Programmabsturz bei Überlauf.- Anzahl der Versuche begrenzen z.B. 3
- Wenn Passwort OK, gleich raus aus der Schleife#include <stdio.h> #include <conio.h> #include <string.h> int main () { char c=0; int len = 0, max_len = 20; char passwort[20+1]; char* kontrolle = "Hallo"; int iIstVersuche = 0, iMaxVersuche = 3; do { len = 0; memset( passwort, '\0', max_len ); while ( ( ( c = getch() ) != 13 ) && ( len < max_len ) ) { printf("*"); passwort[len++] = c; } if ( strcmp( passwort, kontrolle ) == 0 ) { puts (" Passwort OK"); break; } else { puts(" Passwort falsch"); iIstVersuche++; } }while ( iIstVersuche < iMaxVersuche ); }
-
ja danke für die tipps