
C - funkcia fscanf ignoruje po cykle nacitanie zo suboru
Dobry den prajem. Robim jednu funkciu v ktorej mam vyhladat isty riadok v subore dajme tomu kazdy 4ty a z neho zobrat hodnotu do premennej typu int. To som vyriesil cez funkciu fscanf. Problem je v tom ze prvy krat mi hodnotu nacita spravne dajme tomu ze v jednotlivych riadkoch su dane hodnoty 4: 1, 8: 0, 12: 1, (v stvrtom riadku je hodnota 1 v osmom 0 atd.) nacita hodnotu 1 a este vykona dajake prikazy co su teraz nepodstatne no ako ide o dalsie 4 riadky na 8. riadok nezoberie hodnotu 0 ale v premennej ostane furt hodnota 1. Kontroloval som program a tie riadky sedia presne to znamena on na tom riadku s hodnotou 0 vazne je ale fscanf akoby neprebehlo. Neviete preco sa to deje? Co moze byt pricina toho ze v cykle vynechava fscanf? daco z bufferom, ci?
Prepacte ze som neodpovedal skorej nemohol som tu je moj kod funkcie
Scanf medzi tymi forami nacita hodnotu do pola ale uz dalsie nie
Dakujem vsetko slape uz tomu chapem :)
pole je pointer na pointer, ne pointer na to pole !
pole je adresa ddalsieho pointra (ulozene v stacku). Ked napisem pole[0] tak odkazujem na ten pointer. pole[1] ukazuje uplne doprdele (ukazoval by na dalsi pointer, ne na pole!)
ked chces adresovat prvky pola, tak skus
fscanf(fr,"%lf",(*pole)[i]);
Hodi mi to warning
warning: format ‘%lf’ expects argument of type ‘double *’, but argument 3 has type ‘double’ [-Wformat=]|
A ak spustim program pri volani funkcii program spadne.
Ano viz moju reakciu nad tymto :)