Variablen für Speicherort bei ifstream
-
Wie kann ich mit 2 Variablen (Datum und Uhrzeit)abfragen lassen und diese dann mit dem Speichertort (c:\\windows\\dokummente und einstellungen\\desktop\) in ifstream einbinden??
cout<<"Geben Sie Bitte ein Datum ein z.B. 010109 "<<endl; cin>> Datum; cout<<"Geben Sie Bitte die Uhrzeit ein z.B. 125959 "<<endl; cin>> Uhrzeit; ifstream Eingabedatei("c:\\Dokumente und Einstellungen\\Administrator\\Desktop\\Datum + Uhrzeit <<"); // ????? wie einfügen
es sollte mit ifstream realisiert werden
kann mir jemand helfen, vielen Dank
-
cout<<"Geben Sie Bitte ein Datum ein z.B. 010109 "<<endl; cin>> Datum; cout<<"Geben Sie Bitte die Uhrzeit ein z.B. 125959 "<<endl; cin>> Uhrzeit; ifstream Eingabedatei("c:/Dokumente und Einstellungen/Administrator/Desktop/Datum + Uhrzeit <<"); Eingabedatei << Datum << " " << Uhrzeit << std::endl;
so zum Beispiel...
Aber was ist das für ne Datei?
"Datum + Uhrzeit <<"
keine Endung? 2 Shifts im Dateiname sind wahrscheinlich auch nicht mit Absicht da?!
Es gibt btw ne API-Fkt um wichtige Pfad herauszubekommen:
http://msdn.microsoft.com/en-us/library/bb762204(VS.85).aspx
bzw.
http://weseetips.com/2008/05/01/how-to-get-the-path-of-special-folders-in-windows/Hoffe mal, dass dich das weiterbringt - sieht auch ein wenig hübscher aus als nen ellenlanger Datei-Name und funktioniert wenigstens überall ^^
bb
-
unskilled schrieb:
cout<<"Geben Sie Bitte ein Datum ein z.B. 010109 "<<endl; cin>> Datum; cout<<"Geben Sie Bitte die Uhrzeit ein z.B. 125959 "<<endl; cin>> Uhrzeit; ifstream Eingabedatei("c:/Dokumente und Einstellungen/Administrator/Desktop/Datum + Uhrzeit <<"); Eingabedatei << Datum << " " << Uhrzeit << std::endl;
so zum Beispiel...
Aber was ist das für ne Datei?
"Datum + Uhrzeit <<"
keine Endung? 2 Shifts im Dateiname sind wahrscheinlich auch nicht mit Absicht da?!
Es gibt btw ne API-Fkt um wichtige Pfad herauszubekommen:
http://msdn.microsoft.com/en-us/library/bb762204(VS.85).aspx
bzw.
http://weseetips.com/2008/05/01/how-to-get-the-path-of-special-folders-in-windows/Hoffe mal, dass dich das weiterbringt - sieht auch ein wenig hübscher aus als nen ellenlanger Datei-Name und funktioniert wenigstens überall ^^
bb
des is ne csv Datei
Ich muss einfach den Speicherort (Ordner und Name der Datei) angeben diese mit ifstream einlesen verarbeiten und ausgeben.
Die shifts sind unabsichtlich reingerutscht
-
Ich frage mich, ob hier nicht ein variabler Speicherort gemeint war in Verbindung mit Datum und Uhrzeit. Also sowas:
std::cout << "Geben Sie Bitte ein Datum ein z.B. 010109: " << std::endl; std::string date; std::geline(std::cin, date); std::cout << "Geben Sie Bitte die Uhrzeit ein z.B. 125959: " << std::endl; std::string time; std::getline(std::cin, time); std::string path = "c:/Dokumente und Einstellungen/Administrator/Desktop/"; path += date; path += " "; path += time; path += ".txt"; std::ifstream input(path.c_str());
Ansonsten empfehle ich, dass du das nächste Mal die Beschreibung deines Problems etwas deutlicher machst.
Grüssli
-
Dravere schrieb:
Ich frage mich, ob hier nicht ein variabler Speicherort gemeint war in Verbindung mit Datum und Uhrzeit. Also sowas:
std::cout << "Geben Sie Bitte ein Datum ein z.B. 010109: " << std::endl; std::string date; std::geline(std::cin, date); std::cout << "Geben Sie Bitte die Uhrzeit ein z.B. 125959: " << std::endl; std::string time; std::getline(std::cin, time); std::string path = "c:/Dokumente und Einstellungen/Administrator/Desktop/"; path += date; path += " "; path += time; path += ".txt"; std::ifstream input(path.c_str());
Ansonsten empfehle ich, dass du das nächste Mal die Beschreibung deines Problems etwas deutlicher machst.
Grüssli
Dann versuche ich das mal deutlicher:
ich habe ein File :
010109-125959-raw.csv
Datum-Uhrzeit-raw.csvDiese File wird jeden Tag ein oder mehrmals erzeugt, der Anwender muss eintragen wie des File heißt, deswegen frage ich das Datum und die Zeit ab.
Der Name der Datei beinhaltet also Datum-Uhrzeit.Ich muss Datum und Uhrzeit zusammenpacken um das ganze in ifstream MIT ORDNERBEZEICHNUNG auslesen und verarbeiten.
der Pfad lautet des ordners c:/Dokumente und Einstellungen/Administrator/Desktop/
-
Gut, dann war ich also doch richtig. Was stimmt denn nun nicht an meiner Lösung, abgesehen, dass man nicht ".txt" nehmen sollte am Ende, sondern ein "-raw.csv" und statt des Leerzeichen ein Bindestrich '-' dazwischen.
Also frag, wenn du etwas nicht begreifst an meiner vorgeschlagenen LösungGrüssli
-
Dravere schrieb:
Gut, dann war ich also doch richtig. Was stimmt denn nun nicht an meiner Lösung, abgesehen, dass man nicht ".txt" nehmen sollte am Ende, sondern ein "-raw.csv" und statt des Leerzeichen ein Bindestrich '-' dazwischen.
Also frag, wenn du etwas nicht begreifst an meiner vorgeschlagenen LösungGrüssli
std::cout << "Geben Sie Bitte ein Datum ein z.B. 010109: " << std::endl; std::string date; std::getline(std::cin, date); std::cout << "Geben Sie Bitte die Uhrzeit ein z.B. 125959: " << std::endl; std::string time; std::getline(std::cin, time); std::string path = "c:/Dokumente und Einstellungen/Administrator/Desktop/"; path += date; path += "_"; path += time; path += "_"; path += "raw"; path += ".csv"; std::ifstream Eingabedatei(path.c_str()); std::cout <<path.c_str();
wenn ich das compiliere dann kommt das hier als pfad
c:/Dokumente und Einstellungen/Administrator/Desktop/010109__raw.
time fehlt da?????
-
Genau diesen gezeigten Code, führt bei mir zu dieser Ausgabe:
Geben Sie Bitte ein Datum ein z.B. 010109: 010109 Geben Sie Bitte die Uhrzeit ein z.B. 125959: 125959 c:/Dokumente und Einstellungen/Administrator/Desktop/010109_125959_raw.csv
Die beiden Eingaben, habe ich natürlich hingeschrieben
Also irgendwo hast du einen Fehler gemacht. Der liegt aber sicher nicht in dem gezeigten Code, denn dieser funktioniert einwandfrei.
Grüssli
-
Dravere schrieb:
Genau diesen gezeigten Code, führt bei mir zu dieser Ausgabe:
Geben Sie Bitte ein Datum ein z.B. 010109: 010109 Geben Sie Bitte die Uhrzeit ein z.B. 125959: 125959 c:/Dokumente und Einstellungen/Administrator/Desktop/010109_125959_raw.csv
Die beiden Eingaben, habe ich natürlich hingeschrieben
Also irgendwo hast du einen Fehler gemacht. Der liegt aber sicher nicht in dem gezeigten Code, denn dieser funktioniert einwandfrei.
Grüssli
habe das ding nochmal kopiert, und immer noch das selbe, vielleicht spinnt mein visual studio.
Was für nen compiler benutzt du??
oder vielleicht sind es die Header ??
#include <cstdlib> #include <iostream> #include <fstream> // fuer Dateizugriffe #include <cstring> #include <iomanip> #include <math.h> #include <string> using namespace std;
bin für jede ideee zu haben, vielen dank Dravere
-
Das einzige, was es hier zu meckern gibt ist das math.h. (eher cmath!).
-
1Aiden schrieb:
habe das ding nochmal kopiert, und immer noch das selbe, vielleicht spinnt mein visual studio.
Was für nen compiler benutzt du??
Zeig uns einen kleinen lauffähigen Code, welcher den Fehler produzierst, den du beschreibst. So können wir dir am besten helfen. Der Code sollte aber wirklich nicht zu gross sein
Grüssli