Hvordan du sjekker filens eksistens i standard c++
Det er mange metoder for å finne ut om en fil er der, for eksempel følgende:
1: Hvordan sjekke filens eksistens i C ++ ved hjelp av STAT () -funksjon
De stat () Metoden er den mest effektive og sikre teknikken for å bekrefte filens eksistens. De SYS/STAT.h Headerfil har en forhåndsdefinert funksjon som heter stat. Funksjonen aksepterer en bane og en struktur som parametere, der filen eller katalogen tilknyttet metadata, om noen, vil bli holdt. Funksjonen returnerer resultatet av 0 hvis ruten er en legitim. Vi ville se etter eksistens av filen som et eksempel:
#inkludereFørst lagrer filpekervariabelen filens bane. Etter det, stat Hodefilens format brukes til å initialisere den tomme strukturen. Metadata ville bli frelst på denne måten. De Stat -funksjon kalles da inne i IF -tilstanden. Resultatet ville være 0 hvis banen er riktig, noe som betyr at filen eller katalogen eksisterte; Ellers ville det være ikke-null.
Produksjon
Merk: Sørg for å erstatte filnavnet “C_file.tekst" med filnavnet du vil sjekke.
2: Hvordan sjekke eksistensen
Bruke C ++ standard bibliotekfunksjon std :: ifstream er en annen metode for å avgjøre om en fil er til stede. Et strømobjekt som kan brukes til å lese filen returneres av denne funksjonen, som aksepterer en bane som en inngang. For å bruke denne funksjonen, ville utvikleren gi banen og navnet på filen til konstruktøren til std :: ifstream klasse. Resultatet av å gjøre dette er enten filen som blir åpnet av konstruktøren, eller et unntak som blir kastet. Som et resultat, hvis filen åpnes, kan utvikleren anta at den er til stede.
#inkludereStarter med hoved() metode, et objekt av ifstream Klasse som heter fil opprettes for å lese målfilen senere. Når du påkaller den åpne funksjonen på filobjektet, blir destinasjonsfilnavnet deretter levert som et argument. Denne linjen vil prøve å åpne filen i skrivebeskyttet modus.
Siden en fil bare kan åpnes hvis den fysisk eksisterer der og ikke kan nås ellers å få tilgang til. Vi bruker indirekte den åpne () metoden for å bekrefte Filens eksistens. Deretter ved hjelp av IF-ELSE-betingede utsagn, bestemmer vi om filobjektet har åpnet filen eller ikke; Hvis det har det, betyr dette at den ligger på den spesifiserte banen, og vi viser en suksessmelding; Ellers produserer vi en feilmelding.
Produksjon
3: Hvordan sjekke filens eksistens i C ++ ved hjelp av FOPEN () -funksjonen
Den tredje måten å sjekke om a Filen eksisterer er å bruke C ++ -funksjonen fopen (). De fopen () Metoden oppretter en strøm og åpner filen som er angitt med filnavn. Modusvariabelen er en tegnstreng som indikerer hva slags filtilgang som er bedt om. Én posisjonsparameter går foran valgfrie søkeordargumenter i modusvariabelen.
Vi kan spare returverdien fra utførelsen av fopen () i pekerfilen når den er ferdig. Hvis filåpningen var vellykket, funksjonen fopen (), som viser om filen tidligere hadde åpnet, vil produsere en filstrømpeker som refererer til målfilen. Hvis det ikke lyktes, noe som indikerer om filen allerede hadde vært, vil den returnere null. Hvis filreferansen ikke er null, vet vi at filen er til stede og kan gi en suksessmelding; Ellers vil en feilmelding bli sendt.
#inkludereFor å lese filen bygger vi en peker til filklassen som starter fra Main () metode. Deretter bruker vi argumentene “C_file.tekst" og “R” For å definere målfilen og handlingen vi ønsker å utføre på den når vi utfører fopen () metode. 'r' indikerer at vi vil lese filen.
Produksjon
Konklusjon
Det er forskjellige C ++ -funksjoner for å sjekke om det eksisterer en fil, som er Stat, std :: ifstream og fopen. Av de tre metodene, stat () Funksjon er den raskeste og mest pålitelige måten å sjekke eksistens på filer på. Mens andre to funksjoner også er nyttige for å sjekke filens eksistens. Derfor bør utviklere vurdere å bruke disse funksjonene for optimal ytelse og pålitelighet når de sjekker for fileksistens.