Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » LAden und speichern

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
02.11.2008, 21:03 Uhr
Hans
Library Walker
(Operator)


Hi,

@Lensflare: Bist Du sicher, das der Code, den Du da in posting 7 angegeben hast, so richtig ist?

C++:
char *cBuffer;
fread(cBuffer,sizeof(char),100,meineDatei); //100 = Anzahl der zu lesenden Zeichen
AnsiString *as = new AnsiString(cBuffer);



*cBuffer ist ein Zeiger der so wie der Code da steht, sonstwo hin zeigt, aber in keiner Weise initialisiert ist. Den dann so an fread zu übergeben kann eigentlich nur in die Hose gehen.
Also muss erst die Speicheranforderung mit new erfolgen, damit fread was da rein schreiben kann.

@peter123: es ist auch hilfreich, wenn Du uns mitteilst, wie die Struktur aussieht, mit der Du die ganze Zeit operierst, also auf was für ein Gebilde der Zeiger edtDaten verweist.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
02.11.2008, 22:02 Uhr
~peter123
Gast


hiho

erstma ein großes Dankeschön an dich hans bemühst dich ja echt

Ich schreib jetzt gerade den schreibe button ^^.
Ich möchte ihn halt so umschreiben, dass er eben die 3 Sachen aufnimmt (zahl, komazahl und text bis 8buchstaben) dann werde ich den Lese button bearbeiten^^.
Aber ich komm halt hier auch nicht viel weiter...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
02.11.2008, 22:48 Uhr
Hans
Library Walker
(Operator)


Hi,

Zitat von ~peter123:
Ich möchte ihn halt so umschreiben, dass er eben die 3 Sachen aufnimmt (zahl, komazahl und text bis 8buchstaben) dann werde ich den Lese button bearbeiten^^.
Aber ich komm halt hier auch nicht viel weiter...


wie schon geschrieben:
Zitat von Hans:
es ist auch hilfreich, wenn Du uns mitteilst, wie die Struktur aussieht, mit der Du die ganze Zeit operierst, also auf was für ein Gebilde der Zeiger edtDaten verweist.

Dann empfehle ich, die Hilfeseiten zu fread und fwrite mal zu studieren und die Beispiele nach zu vollziehen. Dazu musst Du im Builder mal andere Projekte aufmachen, die keine Windowsprogramme erzeugen, sondern auf der Kommandozeile (Eingabeaufforderung) laufen. Ich hab dazu auch schon mal was hier im Forum geschrieben, wenn ich mich nicht irre. Einfach mal die Suchfunktion des Forums bemühen.

Ansonsten hab ich mal die Suchmaschienen bemüht, die fördern u.a. folgende Seite zu Tage:
http://bcb-tutorial.c-plusplus.de/Ansi/index.html

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
03.11.2008, 00:49 Uhr
~peter123
Gast


hiho ,

ich habe es nun geschafft, dass ich per schreibebutton meine drei Sachen speicher. Jedoch kann ich noch immer keine text geschriebene Sachen öffnen . Das war ja das Problem eben schon.
Kann da mir jmd nochmal bitte helfen. Wie kann ich das denn schreiben?

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
03.11.2008, 02:05 Uhr
Lensflare




Zitat von Hans:

@Lensflare: Bist Du sicher, das der Code, den Du da in posting 7 angegeben hast, so richtig ist?

*cBuffer ist ein Zeiger der so wie der Code da steht, sonstwo hin zeigt, aber in keiner Weise initialisiert ist. Den dann so an fread zu übergeben kann eigentlich nur in die Hose gehen.
Also muss erst die Speicheranforderung mit new erfolgen, damit fread was da rein schreiben kann.


stimmt, das habe ich vergessen.


C++:
char *cBuffer = new char[8];
fread(cBuffer,sizeof(char),8,meineDatei);


Da von der Aufgabenstellung nur maximal 8 Zeichen im String gefordert sind, kann man das ja so machen.
Man darf nur nicht vergessen dass c-strings nullterminiert sind und man dan im Endeffekt nur 7 Zeichen Platz für den Text hat.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
03.11.2008, 15:04 Uhr
~peter123
Gast


hiho,

ich habe nun den Code :


C++:
char *cBuffer = new char[8];
fread(cBuffer,sizeof(char),8,meineDatei);



eingegeben.
Nun möchte ich es in die gelesen Daten ausgeben. Wie mache ich dies?

Memo1->Lines->Add(cBuffer);

so geht das nicht.

Also wie schreibe ich es ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
03.11.2008, 15:43 Uhr
Hans
Library Walker
(Operator)


Du weisst ja hoffentlich, das sizeof(char) den Wert 1 ergibt, oder?
Das bedeutet, das Deine fread-Anweisung da oben genau ein Byte in den Puffer schreibt, mehr nicht.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
03.11.2008, 16:22 Uhr
~peter123
Gast


hiho,

wie soll ich es denn sonst machen?
Wenn es so nicht geht?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
03.11.2008, 18:26 Uhr
Lensflare



@Hans:
auf
www.cplusplus.com/reference/clibrary/cstdio/fread.html
heißt es

Zitat:

size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
Reads an array of count elements, each one with a size of size bytes, (...)


In dem Fall sollten also 8 bytes in den Puffer gehen.


@~peter123

Memo1->Lines->Add(cBuffer);

Was ist Lines und was kann man da alles "adden" (hinzufügen). Bzw welche Ausführungen hat die Methode Add?

Wahrscheinlich kann es kein char Array aufnehmen.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 03.11.2008 um 18:35 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
03.11.2008, 18:52 Uhr
~peter123
Gast


hiho ,

also um Zahlen in ein Memo Feld hineinzufügen geht es.
wie schreibe ich es dann so um dass es geht.

memo1->Lines->Add(cbuffer)

damit soll doch immer eine neue zeile gemacht werden mit.
Also immer unten dran gehängt.
Wie schreibe ich es dann mit dem Buffer?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: