#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
int main(int argc, char *argv[])
{
int a=1;
int i=0;
int licznik_a=0,licznik_linijki=1;
char *tekst;
char *szczerze_mowiac_to_nie_wiem_czy_to_konieczne_ale_zobaczymy_wesolych_swiat;
FILE *fp;
FILE *zapis;
fp=fopen("plik.txt","r");
zapis=fopen("wynik.txt","w");
if(fp==NULL)
{
printf("plik.txt nie istnieje\n");
system("PAUSE");
return 0;
}
//odzytanie liter "a" z pliku i wypisanie ich ilosci
while(a)
{
tekst=(char*) malloc(sizeof(*szczerze_mowiac_to_nie_wiem_czy_to_konieczne_ale_zobaczymy_wesolych_swiat));
fscanf(fp,"%c",&tekst[i]);
if(feof(fp) == 0)
{
if(tekst[i]=='a')
{
licznik_a++;
}
if(tekst[i]==10)
{
printf(" linijka %d: %d\n", licznik_linijki, licznik_a);
fprintf(zapis,"linijka %d: %d\n",licznik_linijki, licznik_a);
licznik_a=0;
licznik_linijki++;
}
i++;
}else a=0;
}
//////////////////////////////////////////////////
printf("koniec pliku\n");
fclose(fp);
fclose(zapis);
free(tekst);
system("PAUSE");
return 0;
}
Plik.txt:
a a a a
s s s
d a d a
wynik dzialania programu:
linijka 1: 4
linijka 2: 0
Koniec pliku
Dlaczego nie czyta linijki trzeciej??