ifstream: Text in string

Hallo!
Ich möchte den Inhalt einer Textdatei (mit Leerzeichen) in ein Char-Array füllen. Bist jetzt hab' ich das so:

Code:
#include <fstream.h>
#include <iostream>
using std::cin;

char x;
ifstream datei ("pfad");
datei >> x;

Allerdings wird so nur der letze Buchstaben in x geschrieben. Hab schon bei Google gesucht, allerdings funktionieren diese Beispiele nicht oder sie entsprechen nicht meinen (niedrigen) Anforderungen, das heisst sie sind schon komplizierter.

Wäre um Hilfe dankbar :)

Lg hehe ;-)

ps. ich hab den Bloodshed C++ compi ;)
 
Bei "char x;" reserviert du Speicher für exakt ein zeichen.

probier mal "char *x".

mfg
 
Ein einfaches char* reicht auch nicht aus, da dann einfach in unalloziierten Speicher schreibst, und das meistens mit einer AV endet.
einfacher wäre das:
Code:
#include <fstream> // bei c++ headern [b]kein[/b] dran
#include <iostream>
#include <string>
using std::cin;


string x;
ifstream datei ("pfad");
getline(datei,x);
So liest du eine Zeile in x ein.
www.cppreference.com
 
Zurück
Oben