Condividi tramite


basic_filebuf::open

Apre un file.

basic_filebuf<Elem, Tr> *open(
    const char *_Filename,
    ios_base::openmode _Mode,
    int _Prot = (int)ios_base::_Openprot
);
basic_filebuf<Elem, Tr> *open(
    const char *_Filename,
    ios_base::openmode _Mode
);
basic_filebuf<Elem, Tr> *open(
    const wchar_t *_Filename,
    ios_base::openmode _Mode,
    int _Prot = (int)ios_base::_Openprot
);
basic_filebuf<Elem, Tr> *open(
    const wchar_t *_Filename,
    ios_base::openmode _Mode
);

Parametri

  • _Filename
    Il nome del file da aprire.

  • _Mode
    Una delle enumerazioni in ios_base::openmode.

  • _Prot
    La protezione di apertura file predefinito, equivalente al parametro di shflag in _fsopen, _wfsopen.

Valore restituito

Se il puntatore del file è un puntatore null, la funzione restituisce un puntatore null. In caso contrario, restituisce questo.

Note

La funzione membro viene aperto il file con nomefile, chiamando fopen(filename, strmode). strmode è determinato da modalità &~ (è mangiato& | binario):

  • ios_base::in diventa "r" (file esistente aperto per la lettura).

  • ios_base::out o ios_base::out | ios_base::trunc diventa "w" (il file esistente troncato o crea per la scrittura).

  • ios_base::out | app diventa "a" (il file esistente aperto per l'aggiunta di tutto scritto).

  • ios_base::in | ios_base::out diventa "r+" (file esistente aperto per la lettura e la scrittura).

  • ios_base::in | ios_base::out | ios_base::trunc diventa "w+" (il file esistente troncato o crea per leggere e scrivere).

  • ios_base::in | ios_base::out | ios_base::app diventa "a+" (il file esistente aperto per indicare e aggiungere qualsiasi scrive).

Se mode & ios_base::binary è diverso da zero, la funzione aggiunge b a strmode per aprire un flusso binario anziché un flusso di testo. Quindi archiviare il valore restituito da fopen nel puntatore del file fp. Se mode & ios_base::ate è diverso da zero e il puntatore del file non è un puntatore null, le chiamate di funzione fseek(fp, 0, SEEK_END) per inserire il flusso alla fine di un file. Se tale che consente l'operazione ha esito negativo, le chiamate di funzione scopo(fp) e archivi un puntatore null nel puntatore del file.

Se il puntatore del file non è un puntatore null, la funzione determina il facet di conversione di file: use_facet<codecvt<Elem, char, traits_type::state_type>>(getloc), per utilizzo da underflow e overflow.

Se il puntatore del file è un puntatore null, la funzione restituisce un puntatore null. In caso contrario, restituisce questo.

Esempio

Vedere basic_filebuf::close per un esempio che utilizza apri.

Requisiti

fstream <diIntestazione: >

Spazio dei nomi: std

Vedere anche

Riferimenti

Classe basic_filebuf

Programmazione di iostream

Convenzioni di iostream