Gå til innhold

if spørring for å sjekke om det neste tegnet i et dokument er linjeskift


Anbefalte innlegg

Videoannonse
Annonse

Først må du definere hva et linjeskift er, det avhenger av hvilken plattform du kjører på (eller hvilken plattform fila/dokumentet du leser stammer fra). I Windows-verdenen er et linjeskift tegnet '\r' etterfulgt av '\n', i Unix-verdenen er et linjeskift kun tegnet '\n'. Det finnes også flere varianter, men dette er vel de to vanligste.

 

Når man leser tekstfiler er det vanlig å bruke rutiner for å lese en og en linje av gangen, slik at disse rutinene selv tar seg av linjeskiftene (uavhengig av hvilken type linjeskift fila har). Du kan selvfølgelig gjøre det selv også, men da blir det fort litt mer detaljer du må huske på. Men hvis du har lest et tegn fra fila, kan du sjekke om det er et (Unix-)linjeskift slik:

char tegn = dokument.read();
if (tegn == '\n') {...}

For Windows-linjeskift må du altså først teste om tegnet er '\r', deretter lese neste tegn å sjekke om det er '\n', slik:

char tegn = dokument.read();
if (tegn == '\r') {
  tegn = dokument.read();
  if (tegn == '\n') {...}
  else {
    // hva gjør du nå? har lest '\r' og så et annet tegn som _ikke_ er '\n'...
  }
}
Endret av jonny
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å
×
×
  • Opprett ny...