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.

Einlesen aus einer Datei

Empfohlene Antworten

Veröffentlicht

wie kann ich aus einer Text-Datei Strings einlesen?

ist es möglich beim Einlesen die Zeilenzahl anzugeben?

hab es mit getline probiert komm da aber nicht ganz weiter

klar ist: getline braucht 3 paramter

getline (par1,par2,par3)

der erste und der letzte parameter sind mir nicht ganz klar

der mittlere steht für die variable in der der string geschrieben werden soll.

Gruß

Johannes

Hi,

wie wäre es denn hiermit...


char zeile [81] = " ";

...

ifstream fin ("c:\\datei.txt", ios::in); //öffnet die Datei zum einlesen.

...

fin.getline>>zeile  //vielleicht auch fgets verwenden

...

fout.close();

...

//Habe hier nicht so sehr auf die Syntax geachtet

Die Stichworte sollten eigentlich reichen. Du musst das natürlich noch Deinen Anforderungen anpassen. Wenn Du noch mehr Informationen brauchst, dann schau mal in den vergangen Threads. Das Thema wurde hier schon ein paar Mal behandelt... ;)

Grüsse!

DocMabuse

Sorry, aber ich komm noch nicht ganz klar.

Hab es bissher so probiert.

Das scheint auch ganz ok zu sein, aber

void adresse::einlesen()

{

char index[50];

fstream dat_ein;

dat_ein.open("C:\\test.txt",ios::in);

dat_ein.getline (index,sizeoff,);

dat_ein.close;

}

so, die datei wird zum lesen geöffnet, und wird auch wieder geschlossen, aber mit dem einlesen gibt es noch probs.

für was stehen dann aber die anderen 2 paramter von getline?

will nicht nerven, bin aber leider blutiger anfänger

Gruß

Johannes

Ok, es müsste ungefähr so aussehen...


...

   char zeile [81] = " ";

   ifstream fin ("c:\\datei.txt", ios::in);

   if (fin.good())

   {

      while (!fin.eof())

      {

         fin.getline(zeile,80);

         cout<<zeile<<endl;

      }

      fin.close();

   }

...

"getline" benötigt zwei Parameter:

a) char* s

B) long n

Im Klartext heißt dass, er braucht einen String, in den der eingelesene Inhalt gespeichert wird. Die Zahl gibt einfach an, wieviele Zeichen gelesen werden sollen.

Ich würde auch darauf achten, dass die Datei zum Einlesen mit "ifstream" geöffnet wird. Es geht aber auch einfach mit "fstream". Ist nur so eine Angewohnheit von mir.

Grüsse!

DocMabuse

THX for the Help !!!!

Hab es folgendermaßen hinbekommen.

void adresse ::lesen_datei()

{

cout << "Ihre Daten werden nun eingelesen" << endl;

ifstream dat_ein;

dat_ein.open(dateiname.c_str(), ios::in);

if (!dat_ein)

{

cout << " Sorry, die Datei konnte nicht geöffnet werden" << endl;

}

char zeichen;

while (!dat_ein.eof())

{

dat_ein.get(zeichen);

cout << zeichen;

}

}

Muss halt mal schauen wie ich des mach wenn ich nur bestimmte teile der datei einlesen will.

entweder mit [;] oder zeilenweise.

Gruß

Johannes

Kannsts auch mal so versuchen (Auszug aus der MSDN) :

//fopen, _wfopen

//Open a file.

FILE *fopen( const char *filename, const char *mode );

//filename = Filename

//mode = Type of access permitted z.b "r" für reading

//////////////////////////////////////////////////////////////////

//fread

//Reads data from a stream.

size_t fread( void *buffer, size_t size, size_t count, FILE *stream );

// size in bytes

// count = Maximum number of items to be read

// stram = Pointer to FILE structure

Wichtig: Am ende fclose(stream) nicht vergessen! !

Gruß Archer

ja, hab ich auch schon probiert.

funzt ebenfalls, find die andere möglichkeit aber einfacher.

Wie mach ich es aber blos das er bis zu einer gewissen stelle aus der datei liest? und später bei der stelle wieder anfängt?

Gruß

Johannes

Original geschrieben von -= *["]Mr.Coffee["]* =-

...

Wie mach ich es aber blos das er bis zu einer gewissen stelle aus der datei liest? und später bei der stelle wieder anfängt?

...

Du könntest mal mit tellg() und seekg() arbeiten. Soweit ich weiß kann man damit den Zeiger auf bestimmte Stellen in der Datei setzen. tellg() liefert Dir, glaube ich, die Länge der Datei in Byte. Kannst das ja mal in Deinem Compiler nachschauen. Ob das so klappt bleibt abzuwarten.

Grüsse!

DocMabuse

Ich weiß zwar nicht genau, was du machen möchtest, aber du kannst auch die ganze Datei in ein Sting auslesen und dann den String ab einer bestimmten Stelle abschenden. Beispielsweise, wenn du als Trennzeichen ein / benutzt.

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.