Ändra i fil
Hej,
Jag har en uppgift där man ska ändra i en fil, men vet inte hur jag ska börja eller hur det ska läggas upp. Finns det någon som kan ge några tips?
Uppgiften är att ändra:
Förnamn Efternamn
YYMMDDNNNN
Adressrad
Till:
Efternamn, Förnamn
Adressrad
Jag har lite svårt att förstå vad uppgiften är. Kan du försöka formulera dig på annat sätt? Eller så har du redan löst det, kanske?
Du läser in filen till en buffer[]. Sedan söker du efter "Förnamn", söker efter vad som följer, det är förnamnets värde. Du byter ut det mot det nya värdet. Gör samma sak med övriga uppgifter.
Skriv sedan tillbaka den ändrade buffern till samma eller en ny fil.
Det är ingen enkel uppgift om du aldrig gjort detta förut.
För oss som svarar skulle det hjälpa mycket att få se frågeställningen.
Filen names.txt innehåller namn och personnummer på följande form. Filen innehåller flera personer.
Förnamn Efternamn
YYMMDDNNNN
Adressrad
Din uppgift är att omvandla indatat till formen:
Efternamn, Förnamn
Adressrad
Det här är det jag får veta.
Har du tillgång till names.txt? Jag undrar om enbart namnen står eller om det står "Förnamn nnn" osv.
Om filen enbart innehåller namn, personnummer, adress, är det på exakt 3 rader var?
Innehåller förnamn eller efternamn även mellanslag? (Af Crona)
Det här är de första tre namnen, det finns åtminstone 1000 namn.
Måns Hansson
8510309159
Bössgränd 90, 373 02 RAMDALA
Olliver Lindberg
8602024898
Sandviken 76, 710 27 DYLTABRUK
Eskil Johnsson
7901105838
Löberöd 29, 521 29 KÄTTLISTORP
Så här kan du göra:
Öppna filen names.txt för läsning
Skapa filen newnames.txt för skrivning
Slinga:
Läs första raden (namnet) i names.txt
Leta reda på mellanslaget
Kopiera texten före mellanslaget till Förnamn
Kopiera texten efter mellanslaget till Efternamn
Skriv Efternamn till newnames.txt
Skriv mellanslag till newnames.txt
Skriv Förnamn till newnames.txt
Skriv radslut till newnames.txt
Läs nästa rad (personnummer, ignoreras)
Läs adressrad till Adressrad
Skriv Adressrad till newnames.txt
Skriv radslut till newnames.txt
Upprepa från Slinga tills alla rader är behandlade
Stäng newnames.txt
Stäng names.txt
Detta förutsätter att det inte finns något dubbelt förnamn, (Lars Erik Karlsson).
Berätta gärna hur det går.