fejl ved \n

Tags:    c++

hey jeg har det her program der indlæser nogen nr fra en fil. og sotere dem . mit problem er at hvis man har en \n på et sidste linje i text filen så skriver den en random værdi med:S . er der nogen der kan hjælpe med dette




Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 03.11.2008 19:22 af Bruger #5409
6 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Problemet er at feof først returnerer true når du har forsøgt at læse ud over enden på filen.

Løsningen kunne være at bruge returværdien fra fscanf til at finde ud af om der virkeligt er blevet læst noget. fscanf returnerer det antal elementer du har forsøgt at læse, og som den virkeligt kunne læse, i dit tilfælde 1. Hvis ikke den kan læse det du beder om, returnerer den mindre end det du beder om, i dit tilfælde 0.

Mangler der ikke en } efter "indx++;" ?



kan ikke helt se hvor du vil have feof ? så

og indx++ bliver lukket :D



Ca:
Fold kodeboks ind/udKode 






Ca:
Fold kodeboks ind/udKode 




den laver den samme fejl endnu :(



Du skal bruge indx i stedet for size i den videre kode.

Dvs:
for (i = 0; i < indx; ++i)

Da size er størrelse på det du har allokeret, indx er det antal du har læst.



mange tak vi har brugt 2 timer på at finde den fejl :)



t