Werte aus Datei lesen
-
Hi @ comm,
ich habe vor kurzem angefangen C/C++ zu lernen
und komme mit der Doku nicht ganz zurecht ...Problem:
Ich möchte aus einer Datei zeilenweise mehrere Werte auslesen,
der Compiler bricht mit einer Fehlermeldung ab:
char* casts a lack ...
Zweiter und dritter Wert werden nicht als solche übernommen ...auszulesende Datei sieht etwa so aus
Meier Erwin Berlin Müller Erna Stuttgart Schmidt Eva HamburgSource-Code
#include <fstream> using namespace std; int main() { char* Name, Vorname, Ort; fstream f; cout << endl; f.open("anschrift.txt", ios::in); while ( !f.eof() ) { f >> Name >> Vorname >> Ort; cout << setw(12) << Name << "\t"; cout << setw(13) << Vorname << "\t"; cout << setw(15) << Ort << endl; } f.close(); cout << endl; }Wo ist der Fehler im Code?
In einem anderen Programm werden zeilenweise mehrere
Zahlen ausgelesen und problemlos verarbeitet.Danke.
/rgrk
-
Erstmal sind 'Vorname' und 'Ort' einfache char's (und damit zu klein für längere Namen) und hinter 'Name' hast du keinen Speicher, was vermutlich zu einer Access Violation führen wird. Verwende für die Variablen lieber std::string, da brauchst du dich um solche "Kleinigkeiten" nicht mehr kümmern.
Und zweitens fehlt ein
#include <iostream>, damit der Compiler weiß, was cout darstellen soll.
-
edit: zu langsam...
-
Danke für den Tipp,
das Programm macht tatsächlich das was es soll ...