dnthalhuk Skrevet 21. oktober 2008 Del Skrevet 21. oktober 2008 (endret) Programkoden min er som følgende #include <fstream.h>#include <iostream.h> #include <conio.h> struct Persontype { char Navn[60]; char Personnr[12]; short int Lonnstrinn; bool Gift; }; int main() { ifstream Innfil; int I; Persontype Post; Innfil.open("J:\personal.bin", ios::out | ios::binary); if(Innfil==0) { cout << "Kan ikke opne filen\n\nTrykk en tast... "; getch(); return 1;} while(Innfil.read((char *)Post.Navn, sizeof(Post.Navn))) { cout << Post.Navn << ' '; } Innfil.close(); cout << "\n\nTrykk en tast..."; getch(); return 0; } Nå er ikke jeg helt stødig i binærfiler, men alt jeg får ut av kompendiet mitt er at det har noe med ascii kode 13 å gjøre. Hadde vært ønskelig med en forklaring på hvordan jeg kan skrive ut navnene uten å få masse skrot og debughoo's imellom. Endret 21. oktober 2008 av Ant1 Lenke til kommentar
Giddion Skrevet 21. oktober 2008 Del Skrevet 21. oktober 2008 Det første jeg ser er at du bare leser navnet på posten og det blir galt (med mindre du bare skriver navnet til filen). Du må lese hele posten dvs. nøyaktig det samme som du skriver til filen. Jeg er ikke helt sikker på hvor ascii kode 13 (koden til return og line end) kommer inn. Det kan være du får problemer siden kompilatoren ofte padder, du kan prøve å bytte ut short int og bool med int. Lykke til, binære filer kan ta litt tid å lære seg, men det er kjekt å kunne. Lenke til kommentar
dnthalhuk Skrevet 21. oktober 2008 Forfatter Del Skrevet 21. oktober 2008 Det første jeg ser er at du bare leser navnet på posten og det blir galt (med mindre du bare skriver navnet til filen). Du må lese hele posten dvs. nøyaktig det samme som du skriver til filen. Filen er allerede fredig skrevet med en struktur som er gitt før int main(). Jeg har lyst til å vite hvordan jeg kan få lest navnene som er i filen fortløpende. Noe jeg får litt halveis til på denne måten (kommer maange tegn og tall) mellom halve navn. Lenke til kommentar
Giddion Skrevet 21. oktober 2008 Del Skrevet 21. oktober 2008 Det første jeg ser er at du bare leser navnet på posten og det blir galt (med mindre du bare skriver navnet til filen). Du må lese hele posten dvs. nøyaktig det samme som du skriver til filen. Filen er allerede fredig skrevet med en struktur som er gitt før int main(). Jeg har lyst til å vite hvordan jeg kan få lest navnene som er i filen fortløpende. Noe jeg får litt halveis til på denne måten (kommer maange tegn og tall) mellom halve navn. Hvis jeg ikke har oppfattet deg feil så er det overhode ikke rart du får det sånn halveis til siden du leser hele datastrukturen som navn etter navn. Du må lese datastruktur som datastruktur, så kan du dra navnet ut av strukturen. Har du mulighet til å laste opp hele programmet (helst som vedlegg). Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå