_sopen, _wsopen
Apertura di un file per condividere.Più versioni sicure di queste funzioni sono disponibili, vedere _sopen_s, _wsopen_s.
int _sopen(
const char *filename,
int oflag,
int shflag [,
int pmode ]
);
int _wsopen(
const wchar_t *filename,
int oflag,
int shflag [,
int pmode ]
);
Parametri
filename
Nome file.oflag
Tipo di operazioni consentite.shflag
Tipo di condividere consentito.pmode
Impostazione di autorizzazione.
Valore restituito
Ognuna di queste funzioni restituisce un descrittore del file per il file aperto.
se filename o oflag è un oggetto NULL puntatore, o se oflag o shflag non è compreso in un intervallo valido di valori, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, queste funzioni restituiscono -1 e impostate errno su uno dei seguenti valori.
EACCES
Il percorso specificato è una directory, oppure il file è di sola lettura, ma un'operazione di aperto-per-scrittura è stata tentata.EEXIST
_O_CREAT e _O_EXCL i contrassegni sono stati specificati, ma filename esiste già.EINVAL
non valido oflag o shflag argomento.EMFILE
Non più descrittori di file disponibili.ENOENT
File o il percorso non trovato.
Per ulteriori informazioni su questi e altri codici restituiti, vedere _doserrno, errno, _sys_errlist e _sys_nerr.
Note
_sopen la funzione consente di aprire il file specificato da filename e prepara il file per lettura o scrittura condivisa, come definito da oflag e shflag._wsopen è una versione a caratteri estesi di _sopen; filename argomento a _wsopen è una stringa di caratteri estesi._wsopen e _sopen comportano in modo identico in caso contrario.
Mapping di routine a testo generico
routine di Tchar.h |
_UNICODE e _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tsopen |
_sopen |
_sopen |
_wsopen |
l'espressione Integer oflag è formato collegando dalla combinazione di uno o più delle costanti manifesto seguenti, definito nel file Fcntl.h.Quando due o più costanti costituiscono l'argomento oflag, vengono combinati con l'operatore OR bit per bit ( | ).
_O_APPEND
Riposizionare un puntatore alla fine del file del file prima di ogni operazione di scrittura._O_BINARY
Aprire un file in modalità (non tradotta) binaria.(Vedere fopen per una descrizione della modalità binaria.)_O_CREAT
Viene creato e aperto il nuovo file per la scrittura.Non ha effetto se il file specificato da filename esiste.pmode l'argomento è obbligatorio quando _O_CREAT è specificato._O_CREAT| _O_SHORT_LIVED
Creare un file come temporaneo e se possibile non arrossir su disco.pmode l'argomento è obbligatorio quando _O_CREAT è specificato._O_CREAT| _O_TEMPORARY
Creare un file come temporaneo, il file è stato eliminato quando l'ultimo descrittore del file viene chiuso.pmode l'argomento è obbligatorio quando _O_CREAT è specificato._O_CREAT| _O_EXCL
Restituisce un errore se un file specificato da filename esiste.Si applica solo quando è utilizzato con _O_CREAT._O_NOINHERIT
Impedisce la creazione di un descrittore di file condiviso._O_RANDOM
Specifica principalmente l'accesso casuale dal disco._O_RDONLY
Apertura di un file per la lettura solo; non è possibile specificare con _O_RDWR o _O_WRONLY._O_RDWR
Aprire il file sia per lettura e scrittura; non è possibile specificare con _O_RDONLY o _O_WRONLY._O_SEQUENTIAL
Specifica principalmente un accesso sequenziale dal disco._O_TEXT
Aprire un file in modalità di testo (tradotto).(Per ulteriori informazioni, vedere La modalità del binario di testo e archivia I/O e fopen)._O_TRUNC
Apre un file e la conseguente a di lunghezza zero, il file deve disporre delle autorizzazioni di scrittura.Non è possibile specificare questo flag con _O_RDONLY._O_TRUNC utilizzato con _O_CREAT apre un file esistente oppure creare un nuovo file.[!NOTA]
_O_TRUNC il flag elimina il contenuto del file specificato.
_O_WRONLY
Apertura di un file per la scrittura solo; non è possibile specificare con _O_RDONLY o _O_RDWR._O_U16TEXT
Aprire il file in modalità Unicode UTF-16._O_U8TEXT
Aprire il file in modalità Unicode UTF-8._O_WTEXT
Aprire il file in modalità Unicode.
Per specificare la modalità di accesso ai file, è necessario specificare uno _O_RDONLY, _O_RDWR, o _O_WRONLY.Non esiste un valore predefinito per la modalità di accesso.
se _sopen viene chiamato con _O_WRONLY|_O_APPEND (aggiunta la modalità) e _O_WTEXT, _O_U16TEXT, o _O_U8TEXT, innanzitutto tenterà di aprire il file per la lettura e la scrittura, leggere il BOM, quindi riaprirlo per la scrittura solo.Se aperto il file per l'esito negativo della lettura e la scrittura, verrà visualizzato il file per la scrittura solo e conterrà il valore predefinito per l'impostazione della modalità Unicode.
l'argomento shflag è un'espressione costante la quantità delle costanti manifesto, definito in Share.h.
_SH_DENYRW
Nega accesso in lettura e scrittura in un file._SH_DENYWR
Nega l'accesso in scrittura in un file._SH_DENYRD
Nega l'accesso in lettura a un file._SH_DENYNO
Autorizzazioni di lettura e accesso in scrittura.
pmode l'argomento è obbligatorio solo quando si specifica _O_CREAT.se il file non esiste, pmode specifica le impostazioni delle autorizzazioni del file, che vengono impostate quando il nuovo file viene chiuso la prima volta.In caso contrario pmode viene ignorato.pmode è un'espressione Integer contenente una o entrambe le costanti manifesto _S_IWRITE e _S_IREAD, definito nel sistema \Stat h.Quando entrambe le costanti vengono fornite, vengono combinati con l'operatore OR bit.il significato di pmode è il seguente.
_S_IWRITE
Scrittura valida._S_IREAD
Lettura valida._S_IREAD | _S_IWRITE
lettura e scrittura consentite.
Se l'autorizzazione di scrittura non viene concessa, il file è di sola lettura.Con il sistema operativo Windows, tutti i file leggibili; non è possibile fornire l'autorizzazione di sola scrittura.Pertanto, le modalità _S_IWRITE e _S_IREAD | _S_IWRITE sono pertanto equivalenti.
_sopen applica la maschera corrente di autorizzazione file a pmode prima di impostare le autorizzazioni (vedere _umask).
Requisiti
routine |
Intestazione di associazione |
intestazione facoltativa |
---|---|---|
_sopen |
<io.h> |
<fcntl.h> , <sistema/types.h> , <sistema/stat.h> , <share.h> |
_wsopen |
<io.h> o <wchar.h> |
<fcntl.h> , <sistema/types.h> , <sistema/stat.h> , <share.h> |
Per ulteriori informazioni sulla compatibilità, vedere compatibilità nell'introduzione.
Esempio
Vedere l'esempio relativo a _locking.
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.