klassen Vector i C + + Standard Template Library fungerar som ett alternativ till enkel array . De är nästan lika snabbt som standard arrayer , men de innehåller effektiva funktioner för att lägga till och ta bort element från uppställningen och ändrar storlek dynamiskt när det behövs. En nyttig medlem av klassen Vector är iterator , vilket förenklar processen att iterera igenom alla element som lagras i vektorn med hjälp av en for-loop . Den andra verktyg som används blir ofstream objektet i FStream biblioteket , kommer som låter dig använda den enkla " << " operatör för filen utdata . Saker du behöver
Computer
C + + kompilator
textredigerare eller C + + IDE
Visa fler instruktioner
1
Skapa en C + + fil med namnet " vectorToFile.cpp " . För denna uppgift , kommer tre biblioteken att behövas : FStream tillhandahåller funktionalitet för fil-I /O , ger iostream funktionalitet för I /O till standard in och ut , vilket kommer att omdirigeras från konsolen till en fil i denna verksamhet , och vektorn ger vektor klass . Så börja med följande förklaringar :
# include
# include
# include
using namespace std ;
2 Definiera VectorToFile klassen . Denna klass kommer att bli lite förenklat . Det kommer att hålla en vektor och en funktion för att spara vektorn till en fil
klass VectorToFile {
allmänheten : .
Vektor v < ; br /> GO
VectorToFile ( ) {
}
GO
void saveToFile ( ) {
}
GO
};
3 Skriv saveToFile ( ) metoden . Lägg till följande rader med kod , för att , till saveToFile ( ) metoden . Först får filnamnet från användaren använder standard cin och cout -kommandon , så här:
char filnamn [ 20 ]
GO
cout << \\ " Ange namnet på filen som ska användas: \\"
GO
cin >> fileName
GO
Nästa , initiera ofstream eller utdatafilströmmen , med filnamnet och " ios :: out" . Detta kommer att informera ofstream att vara öppen endast för utmatning . Andra möjliga alternativ skulle vara " ios :: app " , som instruerar strömmen att lägga till data i stället skriva över den och " ios : binary " . , Som instruerar strömmen till produktionen i binär istället text
ofstream vectorFile (filename , ios :: out)
GO
Slutligen , iterera igenom arrayen , med iterator föremålet för din vektor .
std :: vector :: iterator jag
GO
for (i = v.begin ( ) ; I < v.end ( ) ; + + i) {
vectorFile << * I
GO
vectorFile << endl
GO
}
4 Skapa en huvuduppgift att testa klassen . Utanför klassen , förklarar den viktigaste funktionen enligt följande :
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 /> Kompilera och köra din nya C + + -program . Mata in ett filnamn när du tillfrågas .