The vektor klasse i C + + Standard Template Library fungerer som et alternativ til den enkle array. De er nesten like raskt som vanlige arrays , men de inneholder effektive funksjoner for å legge til og fjerne elementer fra tabellen og endrer størrelse dynamisk når det trengs. Et nyttig medlem av vektoren klasse er iteratoren , som i stor grad forenkler prosessen med å iterere gjennom alle elementene som er lagret i vektoren ved hjelp av en for -bue . Den andre verktøy som brukes vil være ofstream objekt i fstream bibliotek , som vil la deg bruke enkle " <<" operatør for fil utgang. Du trenger
Computer
C + + kompilatoren
Tekst editor eller C + + IDE
Vis flere instruksjoner
en
Lag en C + + fil med navnet " vectorToFile.cpp " . For denne oppgaven , vil tre bibliotekene være nødvendig : fstream gir funksjonalitet for fil I /O, gir iostream funksjonalitet for I /O til standard inn og ut , som vil bli omdirigert fra konsollen til en fil i denne aktiviteten , og vektor gir vektor klasse. Så starter med følgende erklæringer :
# include
# include
# include
bruker namespace std;
2 Definer VectorToFile klassen . Denne klassen vil være litt forenklede. Det vil holde en vektor og en funksjon for å lagre vektor til en fil
klasse VectorToFile {
public: .
Vektor v < ; br /> GO
VectorToFile ( ) {
}
GO
ugyldig SaveToFile ( ) {
}
GO
};
3 Skriv SaveToFile ( )-metoden . Legg til følgende linjer med kode , i rekkefølge, til SaveToFile ( )-metoden . Først, få filnavnet fra brukeren ved hjelp av standard cin og cout kommandoer , slik:
røye fileName [ 20 ]
GO
cout << \\ "Skriv inn navnet på filen du vil bruke: \\"
GO
cin >> fileName
GO
< br /> Deretter initialisere ofstream , eller output file bekk, med filnavnet og " ios :: out" . Dette vil informere ofstream å være åpen for utdata. Andre mulige alternativer ville være " ios :: app " , som instruerer strømmen for å legge data heller enn overskrive det og " ios : binary " . , Som instruerer stream til utgang i binær stedet for tekst
< br /> ofstream vectorFile (filnavn , ios :: out)
GO
slutt reagere gjennom matrisen , ved hjelp av iterator gjenstand for vektor din .
std :: vector :: iterator i
GO
for (i = v.begin (); i < v.end (); + + i) {
vectorFile << * i
GO
vectorFile << endl
GO
}
4 Lag en hovedfunksjon å teste klassen . Utenfor klassen , erklærer den viktigste funksjonen som følger:
int main ( ) {
VectorToFile VTF
GO
vtf.v . push_back ( 121 )
GO
vtf.v.push_back ( 144 )
GO
vtf.v.push_back ( 653 )
; GO
vtf.saveToFile ( )
GO
}
GO
< ; br /> Kompiler og kjør den nye C + + program . Input et filnavn når du blir spurt .