Textdatei einlesen
-
Hallo Leute,
wer hätts gedacht, ich hab mal wieder ein Problem. Diesmal versuch ich ne Textdatei einzulesen in der mehrere Zeilen untereinander stehen. In den Zeilen sind einzele Werte getrennt mit | was jetzt aber erst einmal unwichtig ist.
Ich möchte jetzt erst mal ausgeben wieviele Zeilen in der Textdatei sind. Also hab ich mir überlegt ich mach einfach ne Schleife und zähl die Enter, weil dann weiß ich ja im prinzip wieviele zeilen ich hab (problem sind dann noch leerzeichen, aber das versuch ich dann später). Aber wie mach ich meinem Programm klar, wo der unterschied zwischen Enter und Leerzeichen ist. Weil beim Leerzeichen soll er ja nix machen, sondern nur bei nem Enter.
Hat wer nen ansatz für mich? Wäre nett. ThxBye Jarl
-
wie liest du denn ein? c oder c++ style?
-
das programm soll mit C laufen
-
eine newline ist in c mit \n defeniert
das du weist wie man mit FILE pointer umgeht aber \n nicht kennst wundert micheinfach nur
while(dein inhalt == '\n')
-
Mein Problem ist: ich habe jetzt die aufgabe bekommen ich soll nen programm machen, dass auf text-datein zugreift. Aber eigentlich weiß ich noch garnet wie das geht. Is einfach auf die Art: "Mach mal!"
Mir fehlt überhaupt erst mal der Ansatz. Was muss ich denn überhaupt machen, wenn ich ne textdatei mit 3 zeilen hab und der rechner soll mir das so ausgeben.
Bin nicht weiter als:
#include <stdafx.h> #include <stdio.h> int main(void) { FILE *txt; if((txt=fopen("neubuch.txt","w")) == NULL ) { printf("\nEs gab leider ein Problem beim öffnen der Datei"); } }
und nu?
-
Dieser Thread wurde von Moderator/in SideWinder aus dem Forum DOS und Win32-Konsole in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
nun solltest du die datei einlesen
while(!feof(txt)) // läuft solange bis das dateiende erreicht ist { cout << fgetc(txt) << endl; // liefert dir immer das nächste zeichen }
p.s: die funktionen fgets und fread könnten auch noch nützlich sein, einfach mal in einer cpp-referenz nachschlagen!
mfg blan
-
wenn du die rechte auf a+ stellst dann kannst du diese beiden teile gebrauchen das sieht so aus
#include<stdio.h> main(int argc, char *argv[]) { FILE *fp; char wr[500000]; char re[500000]; fp = fopen(argv[1], "a+"); while(feof(fl) == 0) printf("%s",fgets(re,50000,fl)); fgets(wr,1024,stdin); fputs(wr,fl); }
das ist die lösung damit kannst du ein file öffnen lesen und schlussendlich schreiben
hat 1 oder 2 schönheitsfehler beim schreiben deswegen meine frage wie kann ich verhindern das er sobald ich enter drücke er mir dieses enter auch ins file schreibt