Array und Datei < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:00 Sa 09.07.2011 | Autor: | David90 |
Aufgabe | Hi, ich wollt grad ein Programm mit C schreiben und hab erst mal eine datei erstellt mit datei=fopen("matrix.dat","w") und 9 werte reingeschrieben, so dass eine 3x3 matrix entsteht. |
Jetzt wollte ich die werte in ein Array schreiben aber ich weiß irgendwie nich wie das geht. Kann mir das jemand an nem Beispiel schnell erklären?
Danke schon mal
Gruß David
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 18:34 Sa 09.07.2011 | Autor: | felixf |
Moin David!
> Hi, ich wollt grad ein Programm mit C schreiben und hab
> erst mal eine datei erstellt mit
> datei=fopen("matrix.dat","w") und 9 werte reingeschrieben,
> so dass eine 3x3 matrix entsteht.
>
> Jetzt wollte ich die werte in ein Array schreiben aber ich
> weiß irgendwie nich wie das geht. Kann mir das jemand an
> nem Beispiel schnell erklären?
Du musst erstmal genauer sagen, was du tun willst. Willst du jetzt die Datei zum Lesen oeffnen und die Werte wieder auslesen und in eine Matrix schreiben?
Dazu musst du die Datei oeffnen und die Werte auslesen (mit Schleifen, wie beim Schreiben in die Datei). Weisst du, wie man eine Datei zum Lesen oeffnet? Weisst du, wie man Werte aus einer Datei liest?
LG Felix
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 19:03 Sa 09.07.2011 | Autor: | David90 |
also die werte stehen schon in der datei, die hab ich einfach reingeschrieben und die datei abgespeichert. muss man denn die werte aus der datei erst einlesen? kann man sie nicht direkt in das feld schreiben? also ich les die werte erst ein. sagen wir mal ich hab das so deklariert:
FILE *datei
dann öffne ich sie zum lesen datei=fopen("matrix.dat","r");
so und jetzt muss ich die werte in ein feld schreiben mit w anstatt r...aber wie genau mach ich das?:O
gruß david
|
|
|
|
|
Hallo!
Das kommt nun noch ein wenig drauf an, wie du die Zahlen in die Datei geschrieben hast.
Es gibt da zwei Möglichkeiten:
1.: Du hast die Daten binär geschrieben, z.B. mit fwrite(). So ein INT32 belegt dann auch in der Datei exakt die 32Bit bzw 4 Byte, die es im RAM belegt.
2.: Du hast die Daten formatiert geschrieben, z.B. mit fprintf(). Dabei werden die Zahlen so in die Datei geschrieben, daß du sie auch lesen könntest. Zum Beispiel 123456789. (Vorteil: Kann man direkt lesen. Nachteil: Das sind schon 9 Byte)
Daran unterscheidet sich nun, wie du die Daten wieder zurück liest.
zeig doch am besten mal dein ganzes Programm. (Und schließ es in [code][/code] ein, damit es hier im Forum lesbar bleibt)
|
|
|
|