Modo più veloce per verificare se esiste un file utilizzando C ++ standard

Modo più veloce per verificare se esiste un file utilizzando C ++ standard
Controllo se Esistono file L'uso di C ++ standard è un compito importante per gli sviluppatori che lavorano su applicazioni relative a file e directory. Prima di trasferire qualsiasi dati sul disco o tentare di sovrascrivere un file esistente, verificando se il il file esiste è vitale. A seconda di ciò che lo sviluppatore sta cercando di raggiungere, ci sono una varietà di modi per verificare se un il file esiste. Questo articolo ti insegnerà ulteriormente al riguardo.

Come controllare l'esistenza del file in standard c++

Esistono numerosi metodi per scoprire se c'è un file, come il seguente:

  • Usando la funzione stat ()
  • Usando std :: ifstream
  • Usando la funzione fopen ()

1: come controllare l'esistenza del file in c ++ usando la funzione stat ()

IL statistica() Il metodo è la tecnica più efficiente e sicura per verificare l'esistenza di file. IL sys/stat.H Il file di intestazione ha una funzione predefinita chiamata statistica. La funzione accetta un percorso e una struttura come parametri, in cui il file o la directory associati metadati, se presenti, sarebbero mantenuti. La funzione restituisce il risultato di 0 se il percorso è legittimo. Verificheremmo il esistenza del file come esempio:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

const char* file = "c_file.TXT";
struct Stat SB;
if (stat (file, & sb) == 0)
cout << "This file exists";
altro
cout << "The file does not exists!";
restituzione 0;

Innanzitutto, la variabile puntatore del file memorizza il percorso del file. Dopodiché, il statistica Il formato del file di intestazione viene utilizzato per inizializzare la struttura vuota. I metadati verrebbero salvati in questo modo. IL funzione stat viene quindi chiamato all'interno della condizione IF. Il risultato sarebbe 0 se il percorso è corretto, il che significa che il file o la directory esistessero; Altrimenti, sarebbe diverso da zero.

Produzione

Nota: Assicurati di sostituire il nome file “C_file.TXT" Con il nome del file che si desidera controllare.

2: come controllare l'esistenza del file in c ++ usando std :: ifstream ()

Utilizzando la funzione Libreria standard C ++ std :: ifstream è un altro metodo per determinare se è presente un file. Un oggetto di flusso che può essere utilizzato per leggere il file viene restituito da questa funzione, che accetta un percorso come input. Per utilizzare questa funzione, lo sviluppatore passerebbe il percorso e il nome del file al costruttore del std :: ifstream classe. Il risultato di farlo è il file aperto correttamente dal costruttore o un'eccezione lanciata. Di conseguenza, se il file viene aperto, lo sviluppatore può presumere che sia presente.

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()
ifStream File ("file_name.TXT");
if (file.Bene())

std :: cout << "file exists." << endl;

altro

std :: cout << "file doesn't exist." << endl;

A partire da principale() metodo, un oggetto del ifstream La classe denominata file viene creata per leggere il file di destinazione in seguito. Quando si invoca la funzione Apri sull'oggetto file, il nome del file di destinazione viene quindi fornito come argomento. Questa riga tenterà di aprire il file in modalità di sola lettura.

Poiché un file può essere aperto solo se esiste fisicamente e non può essere accessibile diversamente. Stiamo utilizzando indirettamente il metodo Open () per verificare il l'esistenza di file. Quindi, utilizzando le istruzioni condizionali IF-ELSE, determiniamo se l'oggetto file ha aperto il file o meno; Se ha, ciò significa che si trova sul percorso specificato e visualizziamo un messaggio di successo; Altrimenti, produciamo un messaggio di errore.

Produzione

3: come controllare l'esistenza del file in c ++ usando la funzione fopen ()

Il terzo modo per verificare se un il file esiste è usare la funzione C ++ fopen (). IL fopen () Il metodo crea un flusso e apre il file indicato dal nome file. La variabile di modalità è una stringa di caratteri che indica il tipo di accesso al file che è stato richiesto. Un parametro posizionale precede gli argomenti della parola chiave opzionale nella variabile di modalità.

Possiamo salvare il valore di ritorno dall'esecuzione di fopen () Nel file puntatore quando è finito. Se l'apertura del file ha avuto successo, la funzione fopen (), che mostra se il file era stato precedentemente aperto, produrrà un puntatore del flusso di file che si riferisce al file di destinazione. Se non ha avuto successo, il che indica se il file era già stato, tornerà null. Quindi, se il riferimento del file non è nullo, sappiamo che il file è presente e può produrre un messaggio di successo; Altrimenti, verrà inviato un messaggio di errore.

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

File* file;
file = fopen ("c_file.txt "," r ");
if (file!= Null)

cout << "File exists" << endl;

altro

cout << "File does not exists" << endl;

restituzione 0;

Per leggere il file, creiamo un puntatore alla classe file a partire dal principale () metodo. Successivamente, usiamo gli argomenti “C_file.TXT" E "R" Per definire il file target e l'azione che vogliamo eseguire su di esso quando eseguiamo il fopen () metodo. 'R' indica che vogliamo leggere il file.

Produzione

Conclusione

Esistono diverse funzioni C ++ da verificare se esiste un file, che sono stat, std :: ifstream E fopen. Dei tre metodi, statistica() La funzione è il modo più rapido e affidabile per controllare le esistenze del file. Mentre altre due funzioni sono utili anche per controllare l'esistenza del file. Pertanto, gli sviluppatori dovrebbero prendere in considerazione l'utilizzo di queste funzioni per prestazioni e affidabilità ottimali durante il controllo dell'esistenza del file.