Gå til innhold

finne en tekst med fscanf


Anbefalte innlegg

jeg prøver å få ut et navn med fscanf. Filen er delt opp med : mellom hvert felt.

 

har kommet så langt: fscanf(f,"%s:%*:%*:%d:%*", &tab, &sek)

 

Jeg får ut nummeret korrekt, men i tabellen legges hele linjen, ikke bare det feltet jeg vil ha. Hva er feil?

Lenke til kommentar
Videoannonse
Annonse

problemet er at %s leser til den treffer whitespace (space, tab eller newline). siden feltene er delt opp i : er det første whitespacet den treffer newline på slutten av linjen. jeg er iikke sikker på om du kan sette din egen terminating character i *scanf. hvis ikke må du lese filen på en annen måte. eller så kan du bruke c++ hvor dette er lett

 

edit: du kan prøve %[A-Za-z] eller [^:] istedetfor %s

jeg har ikke noe kompilator tilgjengelig og jeg kan ikke regex så jeg aner ikke om det funker eller ikke, men du kan lese mer om det her http://www.opengroup.org/onlinepubs/007908...xsh/fscanf.html

Endret av saboi
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...