aifl Geschrieben 26. November 2001 Geschrieben 26. November 2001 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! Zitieren
DonMaro Geschrieben 26. November 2001 Geschrieben 26. November 2001 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> Zitieren
aifl Geschrieben 26. November 2001 Autor Geschrieben 26. November 2001 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. Zitieren
Ketzer Geschrieben 26. November 2001 Geschrieben 26. November 2001 <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> Zitieren
false Geschrieben 27. November 2001 Geschrieben 27. November 2001 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. Zitieren
dirk12345 Geschrieben 28. November 2001 Geschrieben 28. November 2001 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!?! Zitieren
dirk12345 Geschrieben 28. November 2001 Geschrieben 28. November 2001 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> Zitieren
Cleo Geschrieben 28. November 2001 Geschrieben 28. November 2001 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 Zitieren
aifl Geschrieben 29. November 2001 Autor Geschrieben 29. November 2001 Danke für eure Hilfe! Das Problem hab ich so gelöst: CString strInhalt; fgets(strInhalt.GetBuffer(50),49,p_Datei); strInhalt.ReleaseBuffer(); Zitieren
haddock Geschrieben 29. November 2001 Geschrieben 29. November 2001 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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.