Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 |
// convert the buffer into a number a = atoi (buffer ); |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
int main () { int Zaehler = 0; int RichtigerBuchstabe = 0; char Eingabe[500]; cout << "FLO BLOG\n\n" << endl; ifstream input ("Daten3.dtn", ios::binary); if (!input.is_open()) { FragePasswortAb (); input.open("Daten3.dtn", ios::binary); if (!input.is_open()) cout << "Fehler beim oeffnen der Datei(en)" << endl; } int Passwort[500]; cout << "Passwort: "; cin.clear(); cin.ignore(); cin.get (Eingabe, 499); ifstream Input ("Daten3.dtn", ios::binary); Input.read((char *) &Passwort, sizeof (Passwort)); Input.close (); while (Zaehler <= 499) { if (Eingabe[Zaehler] == Passwort[Zaehler]) { RichtigerBuchstabe++; Zaehler++; } else { cout << "ERROR1: Falsches Passwort. Zugriff verweigert!" << endl; Sleep(500); return 3; } } if (RichtigerBuchstabe == 499) { ZeigeDaten(); } cin.clear (); cin.ignore (); cin.get (); return 0; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
int FragePasswortAb () { char Passwort[500]; cout << "Ihr gewuenschtes Passwort(max. 500 Zeichen): "; cin.get (Passwort, 499); ofstream Output ("Daten3.dtn", ios::binary); Output.write ((char *) &Passwort, sizeof (Passwort)); Output.close (); return Passwort[500]; } |
Zitat von »"C--"«
Kleine Frage zu FragePasswortAb(): Warum ist der Rückgabewert ein int und du gibst ein char-Array zurück, was dann doch nicht verwendet wird??
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
int main () { int Zaehler = 0; int RichtigerBuchstabe = 0; char Eingabe[500]; cout << "FLO BLOG\n\n" << endl; ifstream input ("Daten3.dtn", ios::binary); if (!input.is_open()) { FragePasswortAb (); input.open("Daten3.dtn", ios::binary); if (!input.is_open()) cout << "Fehler beim oeffnen der Datei(en)" << endl; } char Passwort[500]; //mach hier ein char array cout << "Passwort: "; cin.clear(); //cin.ignore(); //ignore ingoriert das erste char den du bei Eingabe eingibst, also muss das auch weg cin.get (Eingabe, 499); ifstream Input ("Daten3.dtn", ios::binary); Input.read((char *) &Passwort, sizeof (Passwort)); Input.close (); while (Zaehler < 499) // stat <= kommt hier hin < { if (Eingabe[Zaehler] == Passwort[Zaehler]) { // hier musst du gucken ob die strings auch zu ende sind! if((Eingabe[Zaehler] == '\0') && (Passwort[Zaehler] == '\0')) { RichtigerBuchstabe = 499; Zaehler = 499; } else { RichtigerBuchstabe++; Zaehler++; } } else { cout << "ERROR1: Falsches Passwort. Zugriff verweigert!" << endl; Sleep(500); return 3; } } if (RichtigerBuchstabe == 499) { ZeigeDaten(); } cin.clear (); cin.ignore (); cin.get (); return 0; } |
Zitat von »"PCShadow"«
Zitat von »"C--"«
Kleine Frage zu FragePasswortAb(): Warum ist der Rückgabewert ein int und du gibst ein char-Array zurück, was dann doch nicht verwendet wird??
um genau zu sein, er gibt keinen zeiger auf ein lokales char-array zurück (was aber auch absoluter mist wäre), sondern das 500. Element desselben (worin ich jetz aber auch keinen sinn sehe Oo)
Quellcode |
|
1 |
1>.\TestListing8_10i.cpp(85) : error C2440: 'return': 'char [500]' kann nicht in 'char' konvertiert werden |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
int main () { int Zaehler = 0; int RichtigerBuchstabe = 0; char Eingabe[500]; cout << "FLO BLOG\n\n" << endl; ifstream input ("Daten7.dtn", ios::binary); if (!input.is_open()) { FragePasswortAb (); input.open("Daten7.dtn", ios::binary); if (!input.is_open()) cout << "Fehler beim oeffnen der Datei(en)" << endl; } char Passwort[500]; //mach hier ein char array cout << "Passwort: "; cin.clear(); //cin.ignore(); //ignore ingoriert das erste char den du bei Eingabe eingibst, also muss das auch weg cin.get (Eingabe, 499); ifstream Input ("Daten7.dtn", ios::binary); Input.read((char *) &Passwort, sizeof (Passwort)); Input.close (); while (Zaehler < 499) // stat <= kommt hier hin < { if (Eingabe[Zaehler] == Passwort[Zaehler]) { // hier musst du gucken ob die strings auch zu ende sind! if((Eingabe[Zaehler] == '\0') && (Passwort[Zaehler] == '\0')) { RichtigerBuchstabe = 499; Zaehler = 499; } else { RichtigerBuchstabe++; Zaehler++; } } else { cout << "ERROR1: Falsches Passwort. Zugriff verweigert!" << endl; Sleep(500); return 3; } } if (RichtigerBuchstabe == 499) { ZeigeDaten(); } cin.clear (); cin.ignore (); cin.get (); return 0; } char FragePasswortAb () { char Passwort[500]; cout << "Ihr gewuenschtes Passwort(max. 500 Zeichen): "; cin.get (Passwort, 499); ofstream Output ("Daten7.dtn", ios::binary); Output.write ((char *) &Passwort, sizeof (Passwort)); Output.close (); return Passwort; } |
C-/C++-Quelltext |
|
1 |
Input.read ((char *) &Passwort, sizeof (Passwort)); |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
void FragePasswortAb (char Passwort[]) { //char Passwort[500]; // brauchst du nicht mehr cout << "Ihr gewuenschtes Passwort(max. 500 Zeichen): "; cin.get (Passwort, 499); ofstream Output ("Daten3.dtn", ios::binary); Output.write ((char *) &Passwort, sizeof (Passwort)); Output.close (); //return Passwort; // auch nicht nötig } |
C-/C++-Quelltext |
|
1 2 |
char Rückgabewert[500]; FragePasswortAb(Rückgabewert); |
Werbeanzeige