Hvor kommer tekstfilen fra ? ifstream læser jo filen som ascii tekst, og det er muligt, at der på sidste plads i hver linje står en kontrolkarakter, der får ifstream til at springe næste karakter over.
Nej for så læser du jo den jo bare ind igen. Når du laver indFil >> next, så fjerner du karakteren fra din stream og lægger den i din next char. Hvis du skal gøre det sådan der, så skal du jo sammensætte dit nummer af din next og din nummer variabel, men det bliver lidt noget rod.
Prøv at ændre dit while guard til while(indFil.peek() != EOF)
Ja, okay - jeg blev lige begejstret nu skrives den sidste linie ud 2 gange. Måske skal jeg oprette spørgsmålet igen? 1200 mel kg. 7845 gryn kg. 7845 gryn kg.
Ja, jeg har en blank linie forneden i filen. Jeg er startet med while(!indFil.eof()), men der kopierede den også sidste linje, derfor forsøgte jeg mig med char next; next = indFil.peek(); while(indFil >> next)
Er endl ikke det samme som "\n" i forhold til ny linje? udFil << liste[i].getEnhed() << endl;
Jeg fik løst problemet ved at skrive: while(!indFil.eof()) { indFil >> nummer >> navn >> enhed; if(!indFil.eof()) { cout << nummer << navn << enhed << endl; } }
Jeg ved ikke om det er en smart løsning, men det virker. Tak for hjælpen!!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.