Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Aus einer Datei in eine Stringvariable lesen

Empfohlene Antworten

Veröffentlicht

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!

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>

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.

<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>

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.

Danke!!

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!?!

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>

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

Danke für eure Hilfe!

Das Problem hab ich so gelöst:

CString strInhalt;

fgets(strInhalt.GetBuffer(50),49,p_Datei);

strInhalt.ReleaseBuffer();

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.