Les tekstfil til 2D Array C ++

Les tekstfil til 2D Array C ++
I C ++ er en 2D-matrise den ytterste enkle kategorien av en flerdimensjonal matrise. Det er representert som en rekke matriser. En todimensjonal matrise er plassert 1 rad etter den andre i systemminnet. Det delte minnet om hele todimensjonal matrisen bestemmes av plasseringen av den første lagringsbiten.

I C ++ vil vi bruke 'IfStream' -metoden for å lese den aktuelle tekstfilen i en 2D -matrise. Dette vil hjelpe oss med å distribuere utvinningsoperatøren for å gjenvinne visse data. Denne artikkelen vil undersøke forskjellige tilnærminger til å lese en tekstfil i en todimensjonal matrise.

Bruk fStream () -metode

Dette trinnet vil bruke Fstream () -funksjonen for å lese en fil i en todimensjonal matrise. Koden til denne forekomsten er festet til det påfølgende bildet.

I begynnelsen av programmet må vi inkludere noen biblioteker som omhandler arkivering. Disse bibliotekene er som er ansvarlige for å åpne filer for skriving. Vi kan også integrere biblioteket for dette formålet. Strengene utveksles mellom kodens kommentarstrøm og grensesnittet til systemet ved å bruke overskriftsfilen . For å håndtere funksjonaliteten til strengen, bruker vi bibliotek. Den siste er .

Etter å ha inkludert alle nødvendige biblioteker, starter vi kroppen til hovedfunksjonen (). Vi gir pekeren som argumenter med datatypens heltall og karakter. I hovedfunksjonen har vi brukt 'STD', som står for 'Standard.'Det er inkludert for å utføre overskriften Input-Output-strømmen i koden. Vi opprettet en fil med navnet 'Eksempel.tekst.'Ved hjelp av funksjonsfinnen () åpner vi filen ved å legge inn filnavnet som funksjonens parametere.

Neste, vi bruker std :: vektor. Så bruker vi std :: strenglinje for å lese linje eller streng. Vi vil bruke en 'mens' loop der tilstanden brukes på finn () som er ansvarlig for å skaffe den innkommende informasjonen. Getline () -funksjonen brukes også til å få alle fillinjer. Innenfor 'mens' sløyfen får vi ord ved å bruke "std :: cout" -erklæringen. Ordene i filene skrives ut, og etter hvert ord vil markøren bevege seg til neste linje.

Uansett hvor koden får den faktiske neste linjen på filen på skjermen mens du viser utdata, er ordet 'newline' også skrevet ut på skjermen. For å avslutte programmet, oppgir vi 'Return 0' -kommandoen. Utgangen fra denne forekomsten er festet til det påfølgende bildet.

Bruk 'mens' loop

Vi kan lese tekstfilen i en todimensjonal matrise i C ++ ved å bruke 'While' Loop i programmet. Koden til denne forekomsten er festet til det påfølgende bildet.

Først av alt introduserer vi noen overskriftsfiler som brukes til å administrere filsystemet, strengene og så videre. Så legger vi til et standard navneområde, og kaller Main () -funksjonen. Vi erklærer en variabel med strengdatatype som har en 2D -matrise med 6 × 3 dimensjoner. Deretter benyttet vi IfStream () -funksjonen og skrev inn navnet på ønsket fil som en parameter.

Forsikre deg om at tekstfilen og kodefilen er i samme katalog; Ellers må vi gi den komplette banen til tekstfilen. Hvis filnavnet eller banen er feil, får vi meldingen ved å bruke "cout" -erklæringen. Hvis filnavnet og banen er riktig, initialiserer vi to variabler, 'x' og 'y', for dimensjonene til 2D -arrayen og starter 'mens' løkken, der vi sjekker ordene til den nødvendige filen og merker posisjonene deres i matrisen. Så øker vi i deres posisjoner.

Nå skriver vi ut filen og deres posisjon i matrisen, så vi må bruke to 'for' Loops One er for x-aksen, og den andre er for y-aksen. Vi vil representere en rekke innhold. Utgangen fra denne forekomsten er festet til det påfølgende bildet.

Bruk IfStream () -metode

Ved hjelp av IFstream () -metoden, leser vi ganske enkelt tekstfilen i en todimensjonal matrise. Koden til denne forekomsten er festet til det påfølgende bildet.

I dette eksemplet integrerer vi tre biblioteker. Den første er, som er ansvarlig for inngangs- og utgangsstrømning. Det andre er, som brukes til filsystemer og administrering av filstrøming. Den siste er, som håndterer alle strenger i koden og filene som vi vil lese gjennom denne koden. Etter dette brukes standard navneområdet. Vi initialiserte matrisen og satte størrelsen på matrisen. Vi tar to korte løkker.

Tilsvarende erklærer vi en variabel strengtype som heter 'Line' som administrerer filene til filer. Her bruker vi MyFile () -funksjonen for å få filnavnet fra brukeren og lagre det i denne filen. Vi bruker "hvis" -uttalelsen for å sjekke om den definerte filen er åpen eller ikke. Hvis ikke, kan du vise meldingen 'Kan ikke åpne filen.'Dette er forårsaket av å legge inn feil fil, eller at filen til filen er feil. Når koden oppfyller tilstanden til "hvis" -erklæringen, vil koden lese fillinjen for linje i 'mens' -løkken, leser den kontinuerlig innholdet i filen til tilstanden er falsk.

Når den spesifiserte tilstanden er falsk, er lesingen stengt. Så for denne årsaken går vi inn i systemet (“Pause”). Utgangen fra denne forekomsten er festet til det påfølgende bildet.

Konklusjon

På C ++ språk kan vi skrive dataene, lese dataene og endre dataene i filene. I denne artikkelen har vi utdypet tre metodologier for hvordan vi leser en tekstfil til en 2D -matrise. Disse strategiene er tilstrekkelig forklart ved å utføre relaterte programmer for disse teknikkene. Vi må integrere overskriftsfilen i programmene våre for å skaffe tekstfilene i en 2D -matrise.