Veröffentlicht 26. November 200123 j Hi Leute, hab kleines Problem und zwar möchte ich in Visual C++ Zeile(n) aus einer Textdatei mit fgets in eine CString-Variable einlesen. In MSDN steht Beispiel mit einem Char-Array, was ich nicht haben möchte. Geht es überhaupt mit CStrings? Danke im voraus!
26. November 200123 j Poste doch mal bitte dieses Beispiel... wenns nicht so viel ist... Aber ein String ist doch nichts anderes als ein Char-Array, oder ? So hab ich das zumindest in C(++) gelernt... <FONT COLOR="#a62a2a" SIZE="1">[ 26. November 2001 15:12: Beitrag 1 mal editiert, zuletzt von DonMaro ]</font>
26. November 200123 j Der Beispiel wäre etwas größer :-). Auf jeden Fall muss ich aus einer Textdatei Wörter (getrennt mit ";") in eine CStringvariable speichern und dann mitzugehörigen Methoden separat abspeichern um anschließend in eine Datenbank zu exportieren.
26. November 200123 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von DonMaro: <STRONG>Poste doch mal bitte dieses Beispiel... wenns nicht so viel ist... Aber ein String ist doch nichts anderes als ein Char-Array, oder ? So hab ich das zumindest in C(++) gelernt...</STRONG>
27. November 200123 j Hi... Wenn Du doch schon mit der MFC arbeitest, dann benutze doch einfach CStdioFile. CStdioFile hat eine Funktion welche da heißt: BOOL ReadString(CString& rString); oder virtual LPTSTR ReadString( LPTSTR lpsz, UINT nMax ); Beide dieser Funktionen werfen eine CFileException. Denk daran diese abzufangen. Ich hoffe das hilft Dir etwas.
28. November 200123 j hmm mich würd trotzdem mal interessieren wie man das ohne MFC macht, hab sowas noch net gemacht, wie man dateien öffnet weiss ich, aber mich würds mal interessieren mit welchem Befehl man aus einer datei, genau eine Zeile ausliest!?!
28. November 200123 j ok also in C gehts so mit: fgets( MEINCHARARRAY , ANZAHLZEICHEN, FILEPOINTER); MEINCHARARRAY= ein Char-Array halt.... ANZAHLZEICHEN= wieviele Zeich eingelesen werden, am besten immer mit "sizeof(MEINCHARARRAY)" FILEPOINTER= euer FILE Pointer halt........ Aber nun meine Frage! Wie lisst man nun die 2 zeile ein???? <FONT COLOR="#a62a2a" SIZE="1">[ 28. November 2001 14:23: Beitrag 1 mal editiert, zuletzt von dirk12345 ]</font>
28. November 200123 j durchs return am ende der zeile ich weiß ja nicht ob das nur im konsolenfenster funktioniert aber da geht das auch mit fread und fwrite musst halt erst in nen buffer reinschreiben oder du überträgst es einfach bitweise ich hab sowas schon mal gemacht muss mal in der arbeit nachschauen dann poste ich nochmal
29. November 200123 j Danke für eure Hilfe! Das Problem hab ich so gelöst: CString strInhalt; fgets(strInhalt.GetBuffer(50),49,p_Datei); strInhalt.ReleaseBuffer();
29. November 200123 j NB: Die traurigen MFC bieten leider *keinen* istream operator>>(istream, CString) :mad: daher kann man auch nicht schreiben fileIn >> myCString; Könnte man ja eigentlich von einer "Klassenbibliothek" erwarten... Habe dieses Problem letzlich mit casts gelöst bzw. der char* Umwandlung von CString
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.