C ++ Skriv CSV -fil

C ++ Skriv CSV -fil

Gi oss beskjed om CSV -filene før du dykker dypt inn i emnet vårt. CSV er den komma-separerte verdien. Alle verdiene i den filen er atskilt ved hjelp av komma som indikerer at denne typen fil lagrer dataene i en tabellform. CSV -filene brukes til å lagre data relatert til noe objekt. Anta at vi har informasjon om en ansatt som vil omfatte navn, lønn, avdeling osv. Hver rad betegner antall poster, og hver post består av ett eller flere felt som er atskilt med komma. Linjer er postene til objekter der hver post inneholder flere kolonner. Den har et like stort antall komma fordi det er en tabellform. CSV -filer brukes i datautvekslingsfiler. Vi vet at det ikke er noen spesifikk metode eller nøkkelord å skrive inn i en CSV -fil. Hvis vi ønsker å skrive inn i en CSV-fil, må vi bruke filen I/O-datatyper, og logikkbasert koding vil bli utført for å skrive inn i en CSV-fil.

Syntaks

Det er ingen slik spesifikk syntaks for å skrive inn i CSV -filer.

Dette er et utvalg av hvordan CSV -filene ser ut. Alle verdiene i den er atskilt ved hjelp av komma “,”, og hver rad indikerer egenskapene til et enkelt objekt. I forrige utdrag kan vi se at ansattes data er lagret, og hver rad inneholder en ansattes detaljer, der hver kolonne indikerer antall egenskaper.

Eksempel nr. 01

La oss starte med å lage en enkel CSV -fil. Opprette en CSV -fil ligner på å lage en tekstfil. For eksempel å få data fra brukeren og skrive dem til filen ved hjelp av komma "", som en avgrenser, og "/n" som en radskillelse. I dette eksemplet vil vi opprette en CSV -fil der vi lagrer tre poster over studenter med attributter “Navn”, “ID”, “Class” og “College Name”. Disse postene er hentet fra brukeren som input. La oss nå se på koden vår, som vises i følgende figur.

Etter å ha inkludert overskriftsfilene våre, iostream, fstream og streng, dykker vi inn i hovedfunksjonen vår, der hele prosessen vår er ferdig. Fstream er overskriftsfilen som brukes til å utføre input/output -operasjoner tilknyttet filsystemet. Inne. Og så erklærte vi 3 strengvariabler “Navn” da navnet på variabelen gjenspeiler verdien den vil inneholde er studentens navn. Den andre er "college" som vil holde instituttets navn, der den tredje variabelen, "std_class," er ansvarlig for å holde studentens klasse.

Etter å ha erklært alle variablene våre, erklærte vi “Fout” ved hjelp av Fstream, som er datatypen som betegner filstrømmen og lar oss utføre lese, skrive og oppdatere operasjoner på filer. Nå, ved å bruke filstrømvariabelen "Fout", åpner vi filen som heter "STD_Details.CSV ”-fil ved å bruke uttalelsen åpen () som vi passerte filnavnet vårt med nøkkelordet“ iOS :: out ”som brukes til å åpne filen for skriveformål. Siden vi må få verdier fra brukeren som input, vil vi be brukeren oppgi verdiene som er lagret i en fil ved hjelp av FOUT. Vi skrev først den første raden, som vil fortelle oss hva som er lagret i CSV -filen, og så ba vi brukeren bruke en COUT -setning om å oppgi verdiene. Nå har vi erklært for en sløyfe med størrelse 3, noe som betyr at brukeren må legge inn posten til tre studenter. Trinn for trinn får vi alle verdiene fra brukeren til å lagre på en rad, og hver verdi skilles ved hjelp av avgrensningskomma ",".

For å få verdiene fra brukeren, brukte vi Getline () -uttalelsen, og passerte to argumenter. Den første er "CIN", som ber kompilatoren ta verdien som er lagt inn av brukeren som input og deretter lagre den i variabelen som blir gitt som det andre argumentet. Etter å ha tømt bufferen ved hjelp av CIN.Ignorer () uttalelse, vi viste ganske enkelt posten som er lagt inn en gang, og deretter flyttet pekeren ut av løkken. Løkken vil få verdiene og skrive dem ut til iterasjonene er fullført.

Ved å bruke "Fout", viste vi postene som brukeren skrev inn, og hver post skilles ved hjelp av et komma ",". Når vi beveger oss ut av sløyfen, lukker vi filen ved hjelp av FOUT.Lukk () uttalelse.

Fortsett nå mot vårt neste trinn der vi oppretter en annen Fstream -variabel, “Fin”, som vi vil bruke for å vise dataene til filen som er opprettet. Deretter erklærer vi en strengvariabel som lagrer dataene som er analysert fra CSV -filen. Neste, ved å bruke den nye Fstream -variabelen “Fin”, åpner vi filen “STD_Details.CSV ”ved hjelp av en åpen uttalelse som vi denne gangen passerte filnavnet som opprettes og" iOS :: i: "nøkkelord som er ansvarlig for å åpne filen som lesemodus.

Deretter har vi igjen erklært for Loop for å få posten til studenten fra filen som vil utføre tre ganger. Innenfor for -sløyfen brukte vi getline () -erklæringen, som to argumenter blir bestått. Den første er "finnen", og den andre er "data", "finnen" vil lese platen en etter en og deretter sende den til variabelen "data". Ved hjelp av "cout" -uttalelsen viste vi postene en etter en, og på slutten plasserte vi "\ n", som vil bryte linjen når den ene raden er fullført.

La oss se på den opprettede CSV -filen, som vist i følgende CSV -fil som automatisk ble vist som utdata når hele koden ble samlet. Vi har laget en fil med postene til tre studenter. Hver post skilles ved hjelp av komma, og hver rad deles etter hvert som posten er fullført.

Som vist i følgende figur er utgangen fra koden vår som viser dataene en etter en vi skrev inn, og på slutten ble den vist i form av en CSV -fil.

Konklusjon

Denne artikkelen diskuterte kort å skrive til en CSV -fil og hvordan vi kan opprette en CSV -fil i C++. C ++ gir ikke noe innebygd bibliotek for å skrive inn CSV -filer, mens vi kan skrive det samme som tekstfilen. Filene er skrevet rad for rad og separert ved hjelp av komma. CSV -filer kan også skrives via pekere. Du kan skrive inn i en CSV -fil på en hvilken som helst metode, enten du liker en tekstfil eller ved å bruke pekere. Vi håper at denne artikkelen vil være nyttig for deg å få en bedre ide om hvordan du lagrer data i tabellform.