Googlehupf
Erfahrenes Mitglied
Hallo zusammen,
ich 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 Googlehupf
Hier das funktioniernde Programm:
ich 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.
C++:
char filename[20]="2bhel10_test3.txt";
//und
char filename1[20]="komment.txt";
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 Googlehupf
Hier das funktioniernde Programm:
C++:
#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);
}