Datei einlesen
-
Hallo!
Ich bin ein absoluter Neuling in C und hab folgende Aufgabe zu lösen:
Schreiben Sie ein Programm, das als Kommandozeilenparameter einen Dateinamen/-Pfad erhält, und den Inhalt dieser Datei auf der Konsole ausgibt.
Benutzen Sie für die Ausgabe eine getrennte Funktion in einem eigenen .c-File, dessen Prototyp in einem .h-File definiert ist.Leider hab ich absoult keinen Plan, wie ich das ganze realisieren soll. Kann mir bitte jemand einen Denkansatz geben? Bin wie gesagt noch ein absoluter c-Frischling, deshalb fällt mir hier leider nichts ein...
Danke im Vorhinein!
Mfg Phil
-
Also schonmal von vorweg
"Wie machen nicht deine Hausaufgaben"Wie wärs mit Google?
Stichwort C Tutorial
Thema Kommandozeilenparameter, Dateiverarbeitung...Ich geb dir mal ein paar Denkanstöße
Kommandozeilenparameter benutzen
main(int argc,char *argv[]) { int AnzahlDerParameter=argc; char ParameterListe[5][128]; strncpy(Parameterliste[0],argv[0],127); strncpy(Parameterliste[1],argv[1],127); strncpy(Parameterliste[2],argv[2],127); strncpy(Parameterliste[3],argv[3],127); strncpy(Parameterliste[4],argv[4],127); ...
Angenommen dein Programm heist TestKommando.exe,
deine Kommandozeileneingabe lauteteTestKommando Hallo Welt
Dann ist AnzahlDerParameter gleich 3, weil 3 Parameter,
Parameterliste[0] ist "TestKommando" //Programm
Parameterliste[1] ist "Hallo" //Erster Paramter
Parameterliste[2] ist "Welt" //2. ...
Parameterliste[2] ist "" und so weiterDatein öffnest du so
FILE *Datei=fopen("Text.txt","r"); //Öffnet Text.txt zum lesen ('r'ead) // write -> "w" if(Datei==NULL) { /*Fehler...*/ } fclose(Datei); //WICHTIG: Schließen nicht vergessen!
Lesen kannst du so
char Zeichen; while(!feof(Datei)) //lesen bis am Ende der Datei angekommen { Zeichen=fgetc(Datei); //Ein Zeichen lesen putchar(Zeichen); //zeichenweise ausgeben }
Wenn du ein Programm daraus gemacht hast kannstes ja mal posten
-
danke mal für die antwort.
das ding ist keine hausaufgabe sondern lediglich eine übung für mich, um mich auf einen test vorzubereiten
mfg phil