datei: 1.Zeile String, dann doubles
-
Hallo,
ich habe eine ASCII Datei, die in der ersten Zeile einen String stehen hat und in den folgenden Fließkommawerte. Steht in der ersten Zeile nur ein char, funktioniertchar ersteZeile; ifstream inputFile("filename"); inputFile >> ersteZeile; cout << ersteZeile;
bestens. Anschließend fahre ich problemlos mit dem Auslesen der folgenden Zahlenwerte fort, indem ich meinen pointer um 1 erhöhe.
Steht in der ersten Zeile allerdings ein String, versagtchar *ersteZeile; ifstream inputFile("filename"); inputFile >> *ersteZeile; cout << *ersteZeile;
leider völlig. Woran liegt das? Wie kann ich die erste Zeile komplett einlesen und einem String zuordnen?
mfg, bender
-
Woran liegt das?
Das liegt daran, dass es sich hier um einen Zeiger handelt, für den du erst Speicher reservieren musst, bevor du ihn benutzen kannst
Wie kann ich die erste Zeile komplett einlesen und einem String zuordnen?
Verwende einfach std::string
#include <iostream> #include <fstream> #include <string> using namespace std; // damit du nicht immer "std::string" schreiben musst int main(int argc, char *argv[]) { string strErsteZeile; ifstream inputFile("filename"), inputFile >> strErsteZeile; cout << strErsteZeile; // ... alles weitere lesen ... inputFile.close(); }
Mfg, smasher1985