Hallo,
ch hab hier mal ne Frage:
Die Aufgabenstellung lautet:
1. Ein Unterprogramm um die Zeilen in einem File zu zählen und ans
Hautptprogramm zurueck zugeben. Ausgabe im Hauptprogramm.
Übergabeparameter: char filename[]
Rückgabeparameter: int
1. Ein Unterprogramm um die Zeilen im File durchzusuchen und alle Zeilen die
mit einem # beginnen in ein neues File mit dem Namen "komment.txt"
zu schreiben.
Übergabeparameter: char filename[]
Rückgabeparameter: ---
Es hat auch geheißen das man den Namen der Files übergeben muss.
Was bringt das wenn ich das so mache? Das heißt ja z.B das an der 0. Stelle eine 2 steht bei filename[20].
Was hat das für nen Sinn? Was mach ich da genau, wenn ich sowas mache?
MfG Mr Gibbs
Programm:
Alles anzeigen
ch hab hier mal ne Frage:
Die Aufgabenstellung lautet:
1. Ein Unterprogramm um die Zeilen in einem File zu zählen und ans
Hautptprogramm zurueck zugeben. Ausgabe im Hauptprogramm.
Übergabeparameter: char filename[]
Rückgabeparameter: int
1. Ein Unterprogramm um die Zeilen im File durchzusuchen und alle Zeilen die
mit einem # beginnen in ein neues File mit dem Namen "komment.txt"
zu schreiben.
Übergabeparameter: char filename[]
Rückgabeparameter: ---
Es hat auch geheißen das man den Namen der Files übergeben muss.
Was bringt das wenn ich das so mache? Das heißt ja z.B das an der 0. Stelle eine 2 steht bei filename[20].
Was hat das für nen Sinn? Was mach ich da genau, wenn ich sowas mache?
MfG Mr Gibbs
Programm:
Quellcode
- #include <stdio.h>
- #include <stdlib.h>
- #define MAXSTRLEN 40
- /* unterprogramm zum zaehlen der zeilen
- * in: der dateiname der angabedatei
- * out: die anzahl
- */
- int count(char filename[]);
- /* unterprogramm zum suchen der zeilen, die mich einem # beginnen
- * in: der dateiname der angabedatei
- * out: ---
- */
- void searchforhash(char filename[]);
- int count(char filename[])
- {
- int anzahl=0;
- char temp[MAXSTRLEN];
- FILE*fileio=NULL;
- fileio=fopen(filename,"r");
- if(fileio==NULL)
- {
- printf("fehler beim einlesen!");
- }
- while(!feof(fileio))
- {
- fscanf(fileio,"%s\n",&temp);
- fflush(stdin);
- anzahl++;
- }
- fclose(fileio);
- return(anzahl);
- }
- void searchforhash(char filename[])
- {
- char temp[MAXSTRLEN];
- char filename1[20]="komment.txt";
- FILE*fileio1=NULL;
- FILE*fileio2=NULL;
- fileio1=fopen(filename,"r");
- if(fileio1==NULL)
- {
- printf("fehler beim einlesen!");
- }
- fileio2=fopen(filename1,"w");
- if(fileio2==NULL)
- {
- printf("fehler beim einlesen!");
- }
- while(!feof(fileio1))
- {
- fscanf(fileio1,"%s\n",&temp);
- fflush(stdin);
- if(temp[0]=='#')
- {
- fprintf(fileio2,"%s\n",temp);
- }
- }
- fclose(fileio1);
- fclose(fileio2);
- return;
- }
- int main(void)
- {
- char filename[20]="2bhel10_test3.txt";
- int anzahl1=0;
- anzahl1=count(filename);
- printf("die anzahl ist: %d\n\n",anzahl1);
- searchforhash(filename);
- return(0);
- }