Díky, rewind mi vůbec nedošel. Moje chyba :)
Takto je to vyřešeno:
#include <stdio.h>
#include <stdlib.h>
int PocetRadku(FILE *fr) //zjistím si počet řádků
{
int c;
int pocet = 1;
while((c = getc(fr)) != EOF)
if (c == '\n') pocet++;
return pocet;
}
int je_cislice(char znak)
{
if(((znak >= '0') && (znak <= '9')) || znak == '-')
return 1;
else
return 0;
}
//void soucet_cisel(const char* vstup, const char* vystup)
void soucet_cisel(const char* vstup)
{
FILE *fr, *fw;
fr = fopen(vstup, "r");
//fw = fopen("vylsdek.txt", "a+");
int pocet_radku, soucet, i, help;
pocet_radku = PocetRadku(fr);
rewind(fr);
char znak;
if(fr == NULL)
{
printf("Soubor nenalezen!!!\n");
system("PAUSE");
return 0;
}
for(i = 1; i <= pocet_radku; i++)
{
soucet = 0;
while(((znak = getc(fr)) != '\n') && (znak != EOF))
{
if(je_cislice(znak))
{
ungetc(znak, fr);
fscanf(fr,"%d", &help);
soucet += help;
}
}
printf("Soucet je %d\n", soucet);
}
fclose(fr);
}
int main()
{
soucet_cisel("vstup.txt");
return 0;
}