Video: From C to Python by Ross Rheingans-Yoo 2025
Når du læser fra en fil, kan du bruge operatøren ekstraktion , >>. Denne operatør er meget nem at bruge, forudsat at du genkender at sætningen "Look mom, no caveats! "Gælder bare ikke for udvindingsoperatøren.
Antag, at du har en fil, der hedder Numbers. txt med følgende tekst på en linje:
100 50 30 25
Du kan nemt læse i disse numre med følgende kode. Først skal du sørge for at tilføje #include (men ikke fstream. H, da du henter en gammel, forældet, yucky fil) såvel som #include. Og du skal nok bruge linjen ved hjælp af navneområde std; hvis du bruger en nyere compiler og bibliotek.
Det er vigtigt at definere nogle variabler for at holde de data, du vil læse. Disse variabler (findes i filen FileRead01) fungerer fint:
strengvægt; streng højde; streng bredde; streng dybde;
Variablerne definerer statistikkerne for en hvilken som helst type widget, du vil bygge. Når du har variablerne på plads, vil denne kode gøre arbejdet:
ifstream MyFile ("Numbers. Txt"); MyFile >> vægt; MyFile >> højde; MyFile >> bredde; MyFile >> dybde;
I den foregående kode, indtastningsfilen, Numbers. txt, havde sine tal adskilt med mellemrum. Du kan også adskille dem med newline-tegn, som dette:
100 50 30 25
Programmet er ligeglad. Det ser ud til hvidt rum, som er et hvilket som helst antal af mellemrum, faner, og nye linjer. Du kan formatere dataene, så det ligner følgende eksempel, og applikationen vil stadig læse dem korrekt.
100 50 30 25
Når du beskæftiger dig med standardindgangsobjektet, cin, gælder de samme regler for hvidt rum: Hvis du læser i fire tal, som det følgende eksempel, ser cin-objektet som ifstream-objektet, vil adskille tallene baseret på det hvide rum.
cin >> vægt; cin >> højde; cin >> bredde; cin >> dybde;
Hvis brugeren tilfældigt indsætter et mellemrum, anvender computeren de adskilte værdier på to steder - begge forkert. Vær forsigtig!
Når du læser oplysninger fra en fil, skal du sørge for, at du har klart defineret rækkefølgen af oplysningerne. Med andre ord skal du sørge for at have aftalt en protokol for oplysningerne. Ellers vil du sandsynligvis ende med fejl og fejl, og dine kolleger vil gerne bebrejde nogen. Sådan er computerens folk jo jo.
Selvfølgelig vil du gerne bekræfte, at ansøgningen rent faktisk virker. Tilføjelse af denne kode vil gøre tricket:
cout << "weight =" << vægt << "rn"; cout << "height =" << højde << "rn"; cout << "width =" << width << "rn"; cout << "depth =" << dybde;
Når du kører programmet, ser du resultatet af læsningen af filen.Her skal du se:
Vægt = 100 Højde = 50 Bredde = 30 Dybde = 25