Avatar billede vandborg Nybegynder
26. august 2006 - 17:19 Der er 5 kommentarer og
1 løsning

Ofstream problem med null byte

Hej eksperter!

Sidder og koder et lille program som skal load en binær fil og udtage al data fra filen. Jeg loader filen vha. en ifstream på følgende vis.

ifstream fin("data.bin", ios::in || ios::binary);
fin.read(buffer, size);

Mit problem opstår når read når til en byte med værdien '\0'. Er der nogen smarte måder at load en fil, så selv null bytes bliver medtaget?

Håber det er klart hvad jeg ønsker opnået, på forhånd tak.
Avatar billede bertelbrander Novice
26. august 2006 - 18:12 #1
Det er std::ios::in | std::ios::binary
og ikke med to ||
Iøvrigt burde det ikke være nødvendigt med std::ios::in når det er en ifstream

Derpå burde der ikke være problemer med 0 bytes
Avatar billede arne_v Ekspert
26. august 2006 - 18:36 #2
husk at strxxx er strengt forbudt for binære data - der skal altid bruges memxxx
Avatar billede vandborg Nybegynder
27. august 2006 - 05:16 #3
Okay, tak for hjælpen :)

Vil se om jeg kan få det til at virke.

Hvis en af jer vil have point så opret lige et blankt svar :)
Avatar billede vandborg Nybegynder
27. august 2006 - 05:35 #4
Fik det til at virke, det eneste problem var min fejl med || i stedet for |.
bertelbrander hvis du ønsker point, så bare skriv et blankt svar :)
Avatar billede bertelbrander Novice
27. august 2006 - 13:48 #5
Jeg samler ikke på point.
Avatar billede vandborg Nybegynder
13. september 2006 - 11:59 #6
Lukker den så, tak for hjælpen igen :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester