Fgets
-
Hey!!
Möchte gerne den Inhalt eines Files auf einen String schreiben. Benutze dafür fgets. Nur das herrschende Problem ist, dass meine Daten in diesem externen File alle durch '\n' getrennt sind. Wie löste ich mein Problem??
Thx
-
aus einer textdatei?
-
Die einfachste Möglichkeit wäre wohl das komplette File auf einmal zu lesen
fseek(datei, 0, 2); // ans ende long groesse = ftell(datei); fseek(datei, 0, 0); // an den anfang char *puffer = new char[groesse]; fread(puffer, 1, groesse, datei);Hat aber mit C++ nicht sooo viel zu tun (ausser die Speicherallokierung)
-
ja, aus einer Textdatei.
Deine Lösung scheint ja recht schön und gut zu sein, aber ich habe die Befehle net zur verfügung. Ich habe nur standartdingssachen aus 1,5jahren unterricht zur verfügung... nix extravergantes. nur basiswissen.... leider
-
LoD schrieb:
ja, aus einer Textdatei.
Deine Lösung scheint ja recht schön und gut zu sein, aber ich habe die Befehle net zur verfügung. Ich habe nur standartdingssachen aus 1,5jahren unterricht zur verfügung... nix extravergantes. nur basiswissen.... leiderUnd wie öffnest du Dateien?
mfg.
-
Also das sind drei Standard-C Dateibefehle

Und statt new kann man in C auch malloc nehmen, vielleicht kennt ihr das...
-
[/quote]
Und wie öffnest du Dateien?mfg.[/quote]
dateien öffnen via: interner_Filename=fopen("dateipfad", "verwendungsart");
und für die Datei auf einen String zu schreiben, muss ich fgets verwenden und genau deswegen stecke ich in der zwickmühle, weil ja fgets nur solange einliest, bis '\n' kommt und meine datensätze aus meiner textdatei sind alle durch '\n' voneinander getrennt.
-
schon mal was von meher dimensionalen arrays gehört..??
z.B. bei main(int argc, char **argv)
reicht der tipp??
p.s. ich lern erst seit nem halbern jahr c/c++
und daher sollten deine 1.5 jahre kein prob sei ich hab erst 1/3 solangw erfahrung
-
Ahja... mein Programm sieht zZ so aus
char txt[20];
FILE *out;if((out=fopen(pfad, "r")) == NULL)
fprintf(stderr, "\nDatei konnte nicht geöffnet werden.");else
{
if(fgets(txt, 20, out)!=NULL)
printf("\n\nDer Inhalt lautet: %s ",txt);
}Aber der Inhalt meiner zu öffnenden Datei ist aber:
April
Dorothe
Ellen
Gelilah
Keira
Madison
Penelope
Rose
Serena
Summerund ich kriege nur "April" für mein printf("Text, %s", txt);