.| Autor | Beitrag |
|---|---|
|
000 11.07.2007, 12:36 LeJean |
Hi, so weit ist ja das zeilenweise Lesen einer Datei in C kein Problem:
Jemand ne Ahnung wie ich das umgehen kann? Wenn ich zeichenweise statt zeilenweise lese, kann ich auf EOF prüfen.. geht das zeilenweise in irgendeiner Form auch? Oder kann ich prüfen ob die Datei an der derzeitigen Stelle noch folgende Zeilen hat? (Egtl dachte ich dass man das genau wie oben genannt prüfen kann...) Bin für jede Hilfe dankbar! MfG, Jean -- |
|
Profil || Suche |
|
001 11.07.2007, 12:46 feigling |
Äh, ich mache es immer so
|
|
Profil || Suche |
|
002 11.07.2007, 12:51 LeJean |
Uhm, da ist mir wohl die feof-Funktion entfallen... ich wusste doch dass das irgendwie geht :)
Editiert: Dieser Beitrag wurde am 11.07.2007 um 12:59 von LeJean bearbeitet. |
|
Profil || Suche |
|
003 11.07.2007, 13:10 Mazze |
EOF wird nur gesetzt, wenn du schon am Ende bist, also wenn schon versucht wurde zu lesen und es nicht klappt, da du am Ende bist. Du kannst den Rückgabewert von fgets prüfen. Mazze --BattleTech-MOD: |
|
Profil || Suche |
|
004 11.07.2007, 13:17 LeJean |
Naja, Auszug der Referenz zu fgets: d.h. mit while(fgets(line, 256, f)) {...} prüfe ich doch den Rückgabewert. Auch bei expliziter Prüfung mit while(fgets(line, 256, f) != NULL) {...} krieg ich selbigen Fehler. Ausserdem Outputs auf der Konsole, die zu div. von mir genutzten Variablennamen sagen "No symbol "line" in current context". Ich arbeite übrigens mit Eclipse.. jetzt hoffe ich mal ganz schwer dass ich nicht nen total blöden Fehler gemacht hab und nen falschen Compiler drin hab :X Editiert: in Eclipse selber find ich keine Möglichkeit das umzustellen, ich schätze der nutzt für C ganz normal den gcc. Ich kann nur die Java-Compiler einstellen, aber die haben ja mit C herzlich wenig zu tun. Editiert #2: Jean --Dieser Beitrag wurde am 11.07.2007 um 13:28 von LeJean bearbeitet. |
|
Profil || Suche |
|
005 11.07.2007, 13:28 Mazze |
Das sieht hier aber anders aus: BattleTech-MOD: Dieser Beitrag wurde am 11.07.2007 um 13:29 von Mazze bearbeitet. |
|
Profil || Suche |
|
006 11.07.2007, 13:42 LeJean |
Ja, du hast zweifelsohne Recht, dass das an und für sich so funktionieren sollte.
Mein Code sieht im Moment so aus: MfG, Jean --Dieser Beitrag wurde am 11.07.2007 um 13:43 von LeJean bearbeitet. |
|
Profil || Suche |
|
007 11.07.2007, 14:10 default |
ich würd ja sagen leg mal die datei die du einlesen willst vor, ich denke es wird dir mehr helfen das alles mit fscanf zu machen statt zeilenweise und dann 'wie auch immer' zu parsen, aber hier ist mal mein beitrag
Du musst Deine Bandbreite verbreitern, damit du breiter wirst von der Bandbreite her und ein breiteres Publikum ansprechen kannst. Dieser Beitrag wurde am 11.07.2007 um 14:11 von default bearbeitet. |
|
Profil || Suche |
|
008 11.07.2007, 14:35 oxff |
Ist für kleine Files eh performanter: mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik Dieser Beitrag wurde am 11.07.2007 um 14:39 von oxff bearbeitet. |
|
Profil || Suche |
|
009 11.07.2007, 14:39 feigling |
|
|
Profil || Suche |
|
010 11.07.2007, 14:40 oxff |
Ja, ich hab da nicht ordentlich aufgeräumt (editiert) und man muss das casten. edit: `kleine' Files heisst hier übrigens Größenordnung < 1 MB. --mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik Dieser Beitrag wurde am 11.07.2007 um 14:40 von oxff bearbeitet. |
|
Profil || Suche |
|
011 11.07.2007, 14:41 default |
in c nicht --Du musst Deine Bandbreite verbreitern, damit du breiter wirst von der Bandbreite her und ein breiteres Publikum ansprechen kannst. |
|
Profil || Suche |
|
012 11.07.2007, 17:41 Kriz |
Siehe auch http://c-faq.com/malloc/mallocnocast.html --K:R-I)Z++ |
|
Profil || Suche |
|
013 11.07.2007, 19:08 LeJean |
Okay.. So viel erstmal dazu. Alternative Ansätze zum Durchlaufen der Schleife und Parsen der Zeileninhalte sind ja schön und gut, und lassen sich natürlich auch umsetzen, aber an und für sich hat meine Methode da immer funktioniert und wird doch auch überall so vorgeschlagen. Danke, Editiert: Dieser Beitrag wurde am 11.07.2007 um 20:45 von LeJean bearbeitet. |
|
Profil || Suche |
|
014 11.07.2007, 21:10 LeJean |
alles klar, dank default hat sich das soeben gelöst. |
|
Profil || Suche |


