Sdílet prostřednictvím


_sopen _wsopen

Otevře soubor pro sdílení.Bezpečnější verze tyto funkce jsou k dispozici; see _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 ] 
);

Parametry

  • filename
    Název souboru.

  • oflag
    Typ operace povolena.

  • shflag
    Typ sdílení povoleno.

  • pmode
    Nastavení oprávnění.

Vrácená hodnota

Každá z těchto funkcí vrátí popisovač souboru otevřeného souboru.

Pokud filename nebo oflag je NULL ukazatele, nebo pokud oflag nebo shflag není v rámci platný rozsah hodnot parametr neplatný popisovač je vyvolána, jak je popsáno v Ověření parametrů.Pokud je povoleno spuštění pokračovat, vrátí tyto funkce hodnotu -1 a errno na jednu z následujících hodnot.

  • EACCES
    Danou cestu je adresář, nebo je soubor jen pro čtení, ale byl proveden pokus o operaci otevřít pro zápis.

  • EEXIST
    _O_CREATa _O_EXCL příznaky nebyly zadány, ale filename již existuje.

  • EINVAL
    Neplatný oflag nebo shflag argument.

  • EMFILE
    Žádné další soubor popisovače k dispozici.

  • ENOENT
    Soubor nebo cesta nebyla nalezena.

Další informace o těchto a jiných návratové kódy, viz _doserrno, kód chyby, _sys_errlist a _sys_nerr.

Poznámky

_sopen Funkce otevře určený soubor filename a připraví soubor sdílené čtení nebo zápisu, podle oflag a shflag._wsopenje verze celého znaku _sopen; filename argument _wsopen je řetězec znaků wide._wsopena _sopen chovají jinak shodně.

Obecný Text rutinní mapování

Rutina Tchar.h

_UNICODE a _MBCS není definován

_MBCS, definice

_UNICODE, definice

_tsopen

_sopen

_sopen

_wsopen

Výraz celé oflag je tvořen kombinací jedné nebo více z následujících konstant manifestu definované v souboru Fcntl.h.Po dvou nebo více konstanty formuláře argument oflag, jsou kombinovány s (operátor bitový operátor OR | ).

  • _O_APPEND
    Přemístí ukazatel souboru na konec souboru před každou operaci zápisu.

  • _O_BINARY
    Otevře soubor v binárním režimu (nepřeložený).(Viz fopen popis binární režim.)

  • _O_CREAT
    Vytvoří a otevře nový soubor pro zápis.Pokud určený soubor nemá žádný vliv filename existuje.pmode Argument je vyžadován při _O_CREAT je určena.

  • _O_CREAT| _O_SHORT_LIVED
    Vytvoření souboru jako dočasné a pokud možno nebyla vyprázdněna na disk.pmode Argument je vyžadován při _O_CREAT je určena.

  • _O_CREAT| _O_TEMPORARY
    Vytvoření souboru jako dočasné; soubor je odstraněn po zavření poslední popisovač souboru.pmode Argument je vyžadován při _O_CREAT je určena.

  • _O_CREAT| _O_EXCL
    Vrátí chybovou hodnotu, pokud soubor určený filename existuje.Platí pouze při použití s _O_CREAT.

  • _O_NOINHERIT
    Zabrání vytvoření sdíleného souboru deskriptoru.

  • _O_RANDOM
    Určuje především náhodný přístup z disku.

  • _O_RDONLY
    Otevře soubor pro čtení pouze; Nelze zadat s _O_RDWR nebo _O_WRONLY.

  • _O_RDWR
    Otevře soubor pro čtení i zápis; Nelze zadat s _O_RDONLY nebo _O_WRONLY.

  • _O_SEQUENTIAL
    Určuje především sekvenční přístup z disku.

  • _O_TEXT
    Otevře soubor v režimu text (přeložit).(Další informace naleznete v tématu textu a binární režim souboru v/V a fopen.)

  • _O_TRUNC
    Otevře soubor a zkrátí jej nulové délky; soubor musí mít oprávnění k zápisu.Nelze zadat tento příznak s _O_RDONLY._O_TRUNCs _O_CREAT otevře existující soubor nebo vytvoří nový soubor.

    [!POZNÁMKA]

    _O_TRUNC Příznak ničí obsah zadaného souboru.

  • _O_WRONLY
    Otevře soubor pro zápis. Nelze zadat s _O_RDONLY nebo _O_RDWR.

  • _O_U16TEXT
    Otevřete soubor v režimu Unicode UTF-16.

  • _O_U8TEXT
    Otevřete soubor v režimu Unicode UTF-8.

  • _O_WTEXT
    Otevřete soubor v režimu Unicode.

Chcete-li určit režim přístupu k souboru je nutné zadat buď _O_RDONLY, _O_RDWR, nebo _O_WRONLY.Výchozí hodnota pro režim přístupu neexistuje.

Pokud _sopen je volána s _O_WRONLY|_O_APPEND (režim Přidat) a _O_WTEXT, _O_U16TEXT, nebo _O_U8TEXT, se nejprve pokusí otevřít soubor pro čtení a zápis, čtení Kusovníku a poté jej znovu otevřete pro psaní pouze.Pokud otevřete soubor pro čtení a zápis se nezdaří, bude soubor pro zápis pouze otevřít a použít výchozí hodnotu pro nastavení režimu Unicode.

Argument shflag je konstanta, skládající se z jedné z následujících konstant manifestu definované v Share.h.

  • _SH_DENYRW
    Zakazuje čtení a zápis do souboru.

  • _SH_DENYWR
    Odepře přístup pro zápis do souboru.

  • _SH_DENYRD
    Odepře přístup pro čtení souboru.

  • _SH_DENYNO
    Povolení čtení a zápis.

pmode Argument je vyžadován pouze v případě, že jeden Určuje _O_CREAT.Pokud soubor neexistuje, pmode určuje nastavení oprávnění v souboru, které jsou nastaveny při prvním zavření nového souboru.Jinak pmode je ignorována.pmodeje výraz celé číslo, který obsahuje jeden nebo oba manifestu konstanty _S_IWRITE a _S_IREAD, definované v SYS\Stat.h.Při obou konstanty jsou uvedeny, jsou kombinovány s operátorem bitový operátor OR.Význam pmode je následující.

  • _S_IWRITE
    Zápis povolen.

  • _S_IREAD
    Čtení povoleny.

  • _S_IREAD | _S_IWRITE
    Čtení a zápis povolen.

Pokud oprávnění k zápisu není uvedena, je soubor jen pro čtení.V operačním systému Windows jsou všechny soubory čitelné; není možné udělit oprávnění pouze pro zápis.Proto režimy _S_IWRITE a _S_IREAD | _S_IWRITE jsou rovnocenné.

_sopenpoužije aktuální maska souboru oprávnění k pmode před nastavením oprávnění (viz _umask).

Požadavky

Rutina

Požadované záhlaví

Volitelné záhlaví

_sopen

<io.h>

<fcntl.h> <sys/types.h> <sys/stat.h> <share.h>

_wsopen

<io.h> nebo <wchar.h>

<fcntl.h> <sys/types.h> <sys/stat.h> <share.h>

Další informace o kompatibilitě v tématu Compatibility v úvodu.

Příklad

Viz příklad pro _locking.

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

Nízké úrovně I/O

_close

_creat _wcreat

fopen _wfopen

_fsopen _wfsopen

_open, _wopen