Häufigkeit eines Strings in einer C-Datei
Dieses C-Programm zählt die Anzahl der Vorkommen aller gesuchten Zeichen in einer Textdatei.Beispiel:
Textdatei enthält den Text "Ich bin Programmierer".
Zeichen, nach denen Sie suchen: j, s, p, e.
Die Anzahl der Vorkommen:
j : 1
s: 1
u: 3
E: 2
#include < stdio.h>
#include < stdlib.h>
void rech_caracteres(char characters[],int size)
{
//Datei im Lesemodus öffnen
DATEI *file = fopen("C:/test.txt","r");
char c;
//array, das Wiederholungen speichert
int repeat[size];
//initialisieren auf 0
for(int i = 0 ; i < size; i++)
repeat[i]=0;
//if the file exists
if(file)
{
//solange es nicht das Ende der Datei ist
//ein Zeichen lesen
while((c=(char)getc(file))!=EOF)
{
//Das gelesene Zeichen wird verglichen mit
//alle Zeichen gesucht
for(int i = 0 ; i < size; i++)
{
//if equal, increment
//der Zähler, der dem Zeichen zugeordnet ist
if(c==characters[i])
repeat[i]++;
}
}
//close file
fclose(file);
//display
printf("Anzahl der Wiederholungen:\n");
for(int i = 0 ; i < size; i++)
printf("\t%c : %d\n",characters[i],repeat[i]);
}
else
printf("\aERROR: Datei kann nicht geöffnet werden: %s", Datei);
}
int main()
{
char string[]="ein Programmierer";
// sizeof(string)-1: Größe des Arrays
// (-1, um das '\0')
// '\0' gibt das Ende des Arrays an
rech_caracteres(string,sizeof(string)-1);
system("Pause");
}