ERLEDIGT
NEIN
NEIN
ANTWORTEN
13
13
ZUGRIFFE
6653
6653
EMPFEHLEN
-
Moin Leute!
Ich bin noch relativ neu auf dem C++ gebiet aber jeder hat ja mal klein angefangen
Also mein Problem:
Ich habe ein main funktion der einer Write Funktion 3 werte übergibt.
Die write funktion öffnet das file.
Wie bekomme ich die 3 werte in das file geschrieben, dass ich später durch eingabe einer der 3 werte die anderen beiden werte aus der datei auslesen kann?
Bsp.:
Bankprogramm
Ein Benutzer wird mit UserID, PIN und Kontostand in mein File geschrieben
Ich möchte auf so ein Geldabheb-Gerät folgendes einrichten:
Benutzer gibt seine ID ein... daraufhin muss das programm die dazugehörige pin aus dem file auslesen und danach überprüfen ob der benutzer den richtigen pin eingegeben hat.
wenn das der fall is, soll er die möglichkeit haben kontostand zu betrachten,
Geld abzuheben oder Geld einzuzahlen.
Wenn er Geld einzahlt oder abhebt muss der alte kontostand in dem file natürlich mit dem neuen überschrieben werden und die datei wieder abgespeichert werden.
Ich bekomme das ja alles schon hin wenn ich UserID und PIN im programmtext angebe, der kontostand wird schon in nem file gespeichert. Aber ich weiß nicht wie ich alles 3 in das file bekomme und das dann jeweils der richtige pin und der richtige kontostand zur passenden ID ausgelesen wird.
Ich hoffe jemand kann mir helfen
DaMan
-
Die Frage gab's hier schon öfter, also
-
Hmmm,
also ich find nix das ich benutzen kann um mein problem zu lösen
Hast vllt nen Lnk für mich zum richtige Thema.. weiß net so wirklich wonach ich suchen soll
DaMan
-
24.05.05 11:49 #4
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Was meinst du eigentlich damit das die write Funktion die Datei öffnet?
mfg
umbrasaxum
-
24.05.05 11:50 #5
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Hier ein Beispiel zu fwrite aus der MSDN:
Code :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
#include <stdio.h> int main( void ) { FILE *stream; char list[30]; int i, numread, numwritten; /* Open file in text mode: */ if( (stream = fopen( "fread.out", "w+t" )) != NULL ) { for ( i = 0; i < 25; i++ ) list[i] = (char)('z' - i); /* Write 25 characters to stream */ numwritten = fwrite( list, sizeof( char ), 25, stream ); printf( "Wrote %d items\n", numwritten ); fclose( stream ); } else printf( "Problem opening the file\n" ); if( (stream = fopen( "fread.out", "r+t" )) != NULL ) { /* Attempt to read in 25 characters */ numread = fread( list, sizeof( char ), 25, stream ); printf( "Number of items read = %d\n", numread ); printf( "Contents of buffer = %.25s\n", list ); fclose( stream ); } else printf( "File could not be opened\n" ); }
mfg
umbrasaxum
-
Naja, bevor die funktion in die datie schreiben kann muss sie sie ja öffnen
Mein Problem ist ja das ich nicht weiß wie ich die 3 werte schreiben / lesen mussFILE *f;
f=fopen("e:\\Ordner\\datei.dat","wb");
damit ich sie nachher zusammen verwenden kann.
z.b. reinschreiben
userid = 123
pass = 444
konto=1400
wenn ich dann der read funtktion userid(also 123) übergebe
will ich da reinschreiben können
return(pass);
und dann soll er mir die 444 returnen.Geändert von DaMan (24.05.05 um 11:54 Uhr)
-
24.05.05 11:55 #7
- Registriert seit
- Sep 2003
- Beiträge
- 24
Hier mal ein ganz simples Beispiel keine Ahnung ob dir das eventuell weiterhilft:
Code :1 2 3 4 5
FILE* datei = fopen("datei.dat", "w"); //Datei öffnen/erstellen mit Schreibberechtigung char * wht; //String "Variable" festlegen sprintf( wht, "%d,%d,%d\n", wert1,wert2,wert3);// die 3Werte werden in eine Zeile eingetragen;neuer Eintrag,neue Zeile fwrite(wht, sizeof(char), strlen(wht)+1, datei); //Schreiben des Strings in die Datei fclose(datei); // Schließen der Datei.Geändert von CrazyHornet (24.05.05 um 11:58 Uhr)
-
24.05.05 11:58 #8
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Ich hab doch oben schon ein Beispiel gegeben.
Ich verstehe nciht ganz wo das Problem liegt.
Gehts dir nciht so sehr um das reinschreiben sondern darum das dir die passenden Werte rausgesucht werden?!
mfg
umbrasaxum
-
24.05.05 12:02 #9
- Registriert seit
- Sep 2003
- Beiträge
- 24
Hab das nicht gesehen
wollts schon 5Min davor schreiben aber musste dann kurz weg vom PC Zivileben halt :P
Zu der Verarbeitung der Daten:
Eventuell wird das Thema hier so diskutiert wie du es haben willst:
http://www.tutorials.de/tutorials205994.html
-
Mhh ja das geht schon alles in die Richtige richtung, aber net so wie ichs brauche

Ich möchte wissen wie ich die werte in die datei schreiben muss damit ich nachher beim wieder auslesen alle werte wieder bekomme
Write:
user: 123 pin: 4444 konto:1000
Read übergebe ich die 123
und bei
return(pin)
soll Read mit 4444 rausgeben
und bei
return(konto)
soll Read mit 1000 rausgeben
Ich hoffe es ist einigermaßen verständlich
-
24.05.05 12:13 #11
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Ich denke fprintf und fscanf sind eher das was du suchst!
mfg
umbrasaxum
-
24.05.05 12:18 #12
- Registriert seit
- Sep 2003
- Beiträge
- 24
Oder du machst es so wie bei meinem Code-Beispiel geschrieben
nur schreibst du
sprintf( wht, "User: %d Pin: %d Konto: %d \n", wert1,wert2,wert3);
damit Hast du ne text-datei die folgendermaßen aufgebaut ist:
User: 1 Pin: 1234 Konto: 12
User: 2 Pin: 4321 Konto: 21
....
Dann müsstest du nur nach dem String
"User: 1" suchen und dann kannst du die gesamte Zeile auslesen so wie es unter dem oben genannten Link erwähnt wird bzw. auf weiterführende Themen verwiesen wird
-
24.05.05 12:20 #13
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Zum auslesen
Zum reinschreibenCode :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
int main(int argc, char* argv[]) { FILE *datei = fopen("test.txt", "r"); int id; int pin; int konto; fscanf(datei, "%d %d %d\n", &id, &pin, &konto); printf("ID: %d Pin: %d Konto: %d", id, pin, konto); fclose(datei); return 0; }
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
int main(int argc, char* argv[]) { FILE *datei = fopen("test.txt", "w"); int id = 123; int pin = 1234; int konto = 1000; fprintf(datei, "%d %d %d\n", id, pin, konto); fclose(datei); return 0; }
Wenn du es noch einfacher willst, musst du ne .ini Datei verwenden.
Edit: Wnen ich es mir richtig überlege kommst du um ne .ini Datei nciht drum rum, wenn du es so einfach haben willst. Ansonsten müsstest du immer die ganze Datei durchsuchen.
mfg
umbrasaxumGeändert von Tobias K. (24.05.05 um 12:23 Uhr)
-
Hi!
Das sieht schon sehr gut aus
bin jetzt erstmal mittagessen und danach teste ich das mal aus
danke euch schon mal sehr
Ähnliche Themen
-
fwrite Problem
Von MS47475 im Forum C/C++Antworten: 4Letzter Beitrag: 28.01.08, 12:09 -
Umbrüche mit fwrite(); ?
Von Acriss im Forum PHPAntworten: 15Letzter Beitrag: 23.08.07, 11:56 -
fwrite problem
Von Tualex im Forum PHPAntworten: 5Letzter Beitrag: 10.10.06, 17:10 -
fwrite und chown
Von Sebigf im Forum PHPAntworten: 21Letzter Beitrag: 09.06.06, 09:45 -
fwrite problem
Von Eaden im Forum PHPAntworten: 3Letzter Beitrag: 15.12.04, 00:41





Zitieren
Login






