Benutzung von fwrite

DaMan

Grünschnabel
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
 
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
 
moin


Hier ein Beispiel zu fwrite aus der MSDN:
Code:
#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
FILE *f;
f=fopen("e:\\Ordner\\datei.dat","wb");

Mein Problem ist ja das ich nicht weiß wie ich die 3 werte schreiben / lesen muss
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.
 
Zuletzt bearbeitet:
Hier mal ein ganz simples Beispiel keine Ahnung ob dir das eventuell weiterhilft:

Code:
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.
 
Zuletzt bearbeitet:
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
 
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
 

Neue Beiträge

Zurück