tæl ord og linjer i en fil

Tags:    c++

<< < 12 > >>
hey er lige startet på C. jeg skal lave et program der læster hvor mange ord og linjer der er i en fil. kan bare ikke finde ud af hvordan jeg skal lave ordtælederen. og er heller ikke sikker på at min linjetæelder rigtig.

Fold kodeboks ind/udKode 




Der er et par småfejl i koden, der mangler f.eks. et }

Det letteste er nok at læse én char af gangen med fgetc, og checke om det er en '\n', hvis det er det, er det en ny linje.
Hvis du tæller hvor mange ' ' der er, ved du hvor mange ord der er, du skal lægge 1 til for hver linie.



tak hvad hvis teksten har to space lige efter hinanden så ville det og tæl som 2 ord. kan man bare bruge en if sætning for at slippe of det




Du kan læse indtil du møder en space, og derpå tælle space indtil du finder noget der ikke er space.
Du kan også overveje hvad du vil gøre med specialtegn som ,.-!



ved ikke helt om jeg skal bruge

getc() eller fgets()




Brug fgetc



mange tak jeg prøver og se om jeg kan få det til og køre :P



kan godt nok ikke få den wordcounter til at virke nogen der kan give lidt hjælp :D


Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 26.10.2008 11:47 af Bruger #5409
Når du har læst alle linjer, er du ved filens slutning. Du skal så nulstille positionen med fseek() funktionen.



kan ikke se hvad det skulle hjælpe




Problemet er at words() aldrig rigtigt læser noget i filen, for line har læst det hele, derved er filen ved enden.
Så du kan lukke filen efter line() og åben den igen inden words(), eller du kan bruge fseek til at komme tilbage til starten på filen.



<< < 12 > >>
t