einfache *.txt-Auswertung mit c++
-
Hey SeppJ, diesmal haste falsch verschoben. Der TE geht offenbar (Threadtitel, Begrüßung) ernsthaft davon aus, ein C++-Programm geschrieben zu haben.
-
danke für die rasche antwort!
wenn ich jetzt aber debug über normal f5,dann schließt sich die console sofort wieder...ich möchte aber nicht über case-anwendung arbeiten...wie kann ich die console offen halten?!...sleep() soll wohl nicht so das richtige sein?!...geht umd das normale debuggen...in 0,5sek kann ich ja leider nicht erkennen was er aus der textdatei gelesen hat:D!
danke nochmal:)
-
Das ist ein Problem mit der Entwicklungsumgebung. Wenn das fopen fehlschlägt sollte es jedenfalls keine Meldung der Art "Datei nicht gefunden" geben. Da wurde irgendwas anderes nicht gefunden.
-
An deinem Programm ist so ziemlich nichts C++. Für Dateizugriffe in C++ benutzt man üblicherweise
streams
, vielleicht möchtest du dich da mal einlesen (Stichworte:istream, ostream, ifstream, ofstream
).
-
Ich vermute, dass du Windows 7 hast und das System dich nicht ohne entsprechende Befugnisse in c:\ herumschreiben lässt. Versuch's mal mit C:\Users\DeinBenutzerName\test.txt.
-
okay das mit den streams werd ich mir mal genauer anschauen!--> danke dafür
wenn ich jedoch von dem code ausgehe und auch das verzeichnis aus dem c:\ vertiefe wie vorgeschlagen bricht sofort alles ab!
hat denn jemand ein funktionierenden code für die datenauslesung aus *txt oder *.dat unter windows7?!
danke:)
-
#include <iostream> #include <fstream> int main() { std::ifstream is("file.txt"); if(!is) return 42; for(int i; is >> i; std::cout << i << '\n'); std::cin.get(); }
Dein Programm mal in C++ übersetzt. Alternativ gehts natürlich auch mit istream_iterator.
-
ich versteh es nicht...selbst mit deinem code kommen selbige meldungen!
habt ihr generell eine bessere idee...will die datei später mal zeilenweise auslesen und in einer art tabelle bzw. array speichern!
tut mir leid das ihr euch mit solch dummen jungs wie mir rumschlagen müsst:$!
mfg milzer9
p.s.:
datei sieht so aus...wobei spalte eins datum,spalte zwei uhrzeit und spalte 3 den messwert reflektiert)
1205 1110 0,694
-
Was soll den das atoi da?
Folgendes sollte funktionieren und bei einem Fehler auch die entsprechende Meldung ausgeben.#include <stdio.h> #include <stdlib.h> int main() { char *datei = "c:\\kompletterpfad\\test.txt"; FILE *fp; char zeile[80]; if ((fp = fopen(datei, "r")) == 0) return perror(datei),1; while(fgets(zeile, sizeof(zeile), fp)) printf("%s", zeile); fclose(fp); return 0; }
-
ich zweifel jetzt schon an mir!
hab deinen code eingegeben und dann debugged und gestartet...passierte natürlich wieder nix,bzw. konnte nix gefunden werden...!
verstehs langsam echt nicht mehr:(!
-
Deine Zweifel an dir sind berechtigt.
Du kannst keine extra für dich formulierte Fehlermeldungen lesen und interpretieren. Die Fehlermeldung gibt dir den Dateinamen an, der so nicht auf deinem System vorkommt. Evtl. hast du Leerzeichen oder sonstige Sonderzeichen in deinem Pfad.
Lege dir einen kurzen Pfad neu an, z.B. C:\\Temp und lege die Datei dort hinein. Und lese und verstehe die Fehlermeldung die da kommt, wenn eine kommt.
-
da kommt eben nix! hab das jetzt schon auf c:\\sub\\text.txt minimiert...
jetzt zeigts schonmal meinen pfad an...fehlte noch eine lib (#include "StdAfx.h")...jedoch sagt er mir da: no such file or directory
noch eine idee?!
danke wutze für deine geduld:)
-
Bashar schrieb:
Das ist ein Problem mit der Entwicklungsumgebung.
Erzähl mal welchen Compiler/IDE du nimmst und wie du es gemacht hast, dass du deinen Code eingeben kontest.
-
auf die gefahr hin,dass ich wieder nicht das richtige schreib (bitte um nachsicht als laie)...ich arbeite mit microsoft visual studio 10 und benutz den hiesigen compiler...ich hab ein neues projekt eingefügt und folgenden code eingegeben:
#include <stdio.h> #include <stdlib.h> #include "StdAfx.h" int main() { char *datei = "C:\\Users\\Chris\\AppData\\Local\\Temp\\test.txt"; FILE *fp; char zeile[80]; if ((fp = fopen(datei, "r")) == 0) return perror(datei),1; while(fgets(zeile, sizeof(zeile), fp)) printf("\n%s", zeile); fclose(fp); return 0; }
danke schon einmal für eure/deine hilfe!
milzer9
-
vielleicht bringt das noch was:
"wetter.exe": "C:\Windows\SysWOW64\ntdll.dll" geladen, Cannot find or open the PDB file
"wetter.exe": "C:\Windows\SysWOW64\kernel32.dll" geladen, Cannot find or open the PDB file
"wetter.exe": "C:\Windows\SysWOW64\KernelBase.dll" geladen, Cannot find or open the PDB fil
-
Was für ein Projekt?
-
visual c++ win32-consolenanwendung!
-
Da du offenbar MSVC benutzt, führe mal Strg+F5 aus und schaue dir an, was ausgeschrieben wird.