Pereiti prie turinio

Problema su fscanf


Rekomenduojami pranešimai

Sveiki,

 

Turiu bėda su nuskaitymu duomenų iš failo.

 

Naudoju fscanf funkciją fscanf(FailoVardas, Formatas, Kintamasis i kuri irašau). Tokią eilutę parašius viskas veikia, nuskaito, tačiau išveda visai ne į temą dalykus. Gal būtų galinčių pasakyt tiksliau kaip man gaut tą ką nuskaitė?

 

Ir plius, ką reiškia formas %as , %s - stringas, nuskaito iki tarpo ar kablelio, o ką reiškia %as gal yra žinančių?

 

Man reikia nuskaityt žodžius iš failo ir ta eilutė atrodo taip:

 

while (fscanf(dataFile, "%as", &word) != EOF)

 

word tai yra char pointeris.

 

Iš karto dėkui už atsakymus.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki,

 

Turiu bėda su nuskaitymu duomenų iš failo.

 

Naudoju fscanf funkciją fscanf(FailoVardas, Formatas, Kintamasis i kuri irašau). Tokią eilutę parašius viskas veikia, nuskaito, tačiau išveda visai ne į temą dalykus. Gal būtų galinčių pasakyt tiksliau kaip man gaut tą ką nuskaitė?

 

Ir plius, ką reiškia formas %as , %s - stringas, nuskaito iki tarpo ar kablelio, o ką reiškia %as gal yra žinančių?

 

Man reikia nuskaityt žodžius iš failo ir ta eilutė atrodo taip:

 

while (fscanf(dataFile, "%as", &word) != EOF)

 

word tai yra char pointeris.

 

Iš karto dėkui už atsakymus.

 

O is kur tu ta %as istraukei? Nes net sudomino ir paziurejau spec'a - bet nieko panasaus ner, kaip ir gyvenime nesu mates 'a' modifier'io. Manau turetu but %s, ir kaip Silke sake, ne &word, o tiesiog word.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

ŠIaip duoda tą patį atsakymą ar taip ar anaip.

 

bet, jei formatą skaitymo nuskaitau Charo, ir išvedinėju charą - būną gerai, išveda raidę.

 

O kas dėl to modifierio, tai štai šičia jis irgi yra naudojamas, bet tiksliai jo paskirties nesuprantu. http://crasseux.com/books/ctutorial/sscanf.html

 

O šiaip turėjau pavyzdį, kur beveik panašiai kaip mano nurodyta eilutė, su tuo pačiu %as , tik ten toliau veiksmai kitokie ir viskas būna good.

Redagavo C_Linas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

ŠIaip duoda tą patį atsakymą ar taip ar anaip.

 

bet, jei formatą skaitymo nuskaitau Charo, ir išvedinėju charą - būną gerai, išveda raidę.

 

O kas dėl to modifierio, tai štai šičia jis irgi yra naudojamas, bet tiksliai jo paskirties nesuprantu. http://crasseux.com/books/ctutorial/sscanf.html

 

O šiaip turėjau pavyzdį, kur beveik panašiai kaip mano nurodyta eilutė, su tuo pačiu %as , tik ten toliau veiksmai kitokie ir viskas būna good.

 

Aj, cia GNU C su savo nuosavais priciudais.. Nu jo, %as tinka, ir tada reikia pointerio adreso taip pat. Tai pradine tavo eilute kaip ir tvarkinga. O kaip tu isvedineji rezultata kuris tau blogas atrodo?

 

Citata:

An optional a flag, valid with string conversions only. This is a GNU extension to scanf that requests allocation of a buffer long enough to safely store the string that was read. (See String overflows with scanf, for information on how to use this flag.)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Bandžiau visais būdais atrodo

 

turėtų man atrodo šitas tikt, bet .. printf("%s",word) , gaunu : x <

 

O bandžiau dar ir kitus, kurie turbūt ir neturėtų sueit

printf("%as",word) , gaunu : ox1.8ff400p-1021s

pritnf("%c",word) , gaunu : H

 

Na sunku pasakyt, bet tai panasu kad nuskaitytu blogus duomenis, arba failintu pats fscanf. Klaidos negrazina? Pabandyk naudot getline() vietoj fscanf.. ir visa eilute atsispausdink. Jei veiks, tada gali su sscanf is to stringo issitraukt jau parametrus.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na as kadangi ant windowsu kodinu, tai visa funkciju ir t.t. informacija dazniausiai ziuriu MSDN'e. Per web'a jis pasiekiamas cia. Galima ir susiinstaliuot parsisiuntus (ieskok torentuose). Ir konkreciai prie printf funkcijos aprasymo yra ir nuoroda i visus galimus formatus.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...