Computer gebruikers zijn bekend met de ASCII -of Unicode- symbolen op hun schermen . In werkelijkheid , achter de schermen , computers verwerken binaire getallen en bestanden opslaan in binaire data formaat . Dit formaat is onleesbaar door de mens . De krachtige fstream C + + -klasse vereenvoudigt de input /output operaties . Tegen de tijd dat je dit artikel afmaken , dan weet je hoe je fstream gebruiken om binaire data van en naar een bestand te schrijven en te lezen . Wat je nodig hebt Intermediate tot gevorderde C + + C + + compiler met IDE , zoals Visual Studio 2008 Toon Meer Aanwijzingen 1 Vertel de preprocessor om de invoering van C + + fstream klasse in uw programma , als volgt : # include 2 Maak kennis met de C + + -indeling van de fstream constructeur . Het neemt twee parameters . Het eerste type char * , de naam van het bestand . De tweede is een reeks van vlaggen , gescheiden door een verticale , dat het besturingssysteem extra informatie over de werking geven . Maak je geen zorgen over de vlaggen nu : fstream fs ( " fname " , ios :: in | ios :: binary | ios :: app) ; < br > 3 Maak of open een bestand met de naam " data.txt . " Stel het voor data schrijven . Voeg de gegevens aan het einde van het bestand : . Fstream fs ( " data.txt " , ios :: in ) ;//Poging om het te openen om te lezen indien { < ( fs ! ) br > fs.open ( " data.txt " , ios :: out | ios :: binary | ios :: app) ; . //Bestand bestaat niet , maak een nieuwe } else { fs.close ( ) ; //Bestand bestaat , sluiten en opnieuw openen voor schrijven fs.open ( " data.txt " , ios :: out | ios :: binary | ios :: app) ; . < br > } 4 Schrijf de eerste 10 getallen in het bestand op en sluit het bestand : for (int i = 0; i fs.write ( reinterpret_cast ( & i ) , sizeof ( int ) ) ; } fs.close ( ) ; . 5 Open het tekstbestand met Windows Verkenner U moet de cijfers zie 0 tot en met 9 op een rij . hoewel de gegevens in binair formaat is ingevoerd , uw tekstverwerker is bezig vertalen naar Unicode -of ASCII numerieke waarden . 6 Open het bestand en voor te bereiden voor het lezen . Toon de inhoud naar de standaard uitvoer : fs.open ( " data.txt " , ios :: in | ios :: binary ) ; indien { gooien SomeFileException ; ( fs ! ) } int num ; for (int i = 0; i fs.read ( reinterpret_cast ( & num ) , sizeof ( int ) ) ; cout }
|