Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: stdio.h  (Citit de 1429 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
PetruD
Strain


Karma: 8
Deconectat Deconectat

Mesaje: 19



Vezi Profilul
« : Septembrie 17, 2011, 14:28:57 »

M-am învăţat minte să mai lucrez cu fstream după ce am luat la o problemă 60/100 din cauza încetinelii la citire. Iar acum am o problemă cu stdio. După ce citesc mai multe caractere, încerc să citesc nişte întregi şi nu îmi citeşte nimic, nici nu mută poziţia în fişier. Ce nu fac bine?

Cod:
    for (i=1;i<=m;i++)
    for (j=1;j<=n;j++)
        fscanf(in,"%c",&c);

    fscanf(in,"%d ",&i1); // nu merge
Memorat
CezarMocan
Nu mai tace
*****

Karma: 252
Deconectat Deconectat

Mesaje: 567



Vezi Profilul
« Răspunde #1 : Septembrie 17, 2011, 14:48:53 »

Incearca sa scrii asa:

fscanf(in," %c ",&c);

Adica cu spatiu inainte si dupa %c, deoarece in caz ca ai enter-uri / spatii, varianta initiala le considera caractere pentru citit, pe cand a 2-a o sa sara peste ele.
Memorat
crushack
De-al casei
***

Karma: 23
Deconectat Deconectat

Mesaje: 108



Vezi Profilul
« Răspunde #2 : Septembrie 17, 2011, 14:49:34 »

S-ar putea ca dupa ce citesteacele caracter sa mai fie unul pe care sa nu-l fi luat:

daca in fisier , dupa citirea caracterelor ai ceva de genu : "!! 13" atunci nu-ti va citi nimic si se va opri la '!',
sau mai rau, sa ai "\n 13"

ca sa fi sigur ca nu face asta cand citesti fa:

Cod:
 assert(fscanf(in,"%d ",&i1));

ca sa n-ai erori de compilare include assert.h

Sper ca te ajuta Very Happy
Memorat
PetruD
Strain


Karma: 8
Deconectat Deconectat

Mesaje: 19



Vezi Profilul
« Răspunde #3 : Septembrie 17, 2011, 14:54:09 »

MulÅ£umesc băieÅ£i. Am rezolvat!   Ok
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines