Sdílet prostřednictvím


_fsopen _wfsopen

Sdílení souborů otevře datový proud.

FILE *_fsopen( 
   const char *filename,
   const char *mode,
   int shflag 
);
FILE *_wfsopen( 
   const wchar_t *filename,
   const wchar_t *mode,
   int shflag 
);

Parametry

  • filename
    Název souboru otevřený.

  • mode
    Typ přístupu povolen.

  • shflag
    Typ sdílení povoleno.

Vrácená hodnota

Každá z těchto funkcí vrátí ukazatel na datový proud.nulový ukazatel hodnota označuje chyba.Pokud filename nebo mode je NULL nebo prázdný řetězec, tyto funkce vyvolat neplatnýpopisovačparametr , jak je popsáno v Ověření parametrů. Pokud je povoleno spuštění pokračovat, vrátí tyto funkce NULL a errno na EINVAL.

Další informace o těchto a jiných kódů chyba naleznete v _doserrno, kód chyby, _sys_errlist a _sys_nerr.

Poznámky

_fsopen funkce otevře určený soubor filename jako proud a připraví soubor pro následné sdílené čtení nebo zápisu, podle definice v režimu a shflag argumenty. _wfsopenje celý znak verze _fsopen; filename a mode argumenty k _wfsopen jsou celý znak řetězce._wfsopena _fsopen chovají jinak shodně.

Řetězec znaků mode Určuje typ souboru, požadovaný přístup podle následující tabulky.

Termín

Definice

"r"

Otevře pro čtení.Pokud soubor neexistuje nebo nemůže být nalezen _fsopen volání se nezdaří.

"w"

Otevře prázdný soubor pro zápis.Pokud daný soubor existuje, jsou zničeny jeho obsah.

"a"

Otevře pro zápis na konci souboru (připojení); nejprve vytvoří soubor, pokud neexistuje.

"r+"

Otevře pro čtení i zápis.(Musí existovat soubor.)

"w+"

Otevře prázdný soubor pro čtení i zápis.Pokud daný soubor existuje, jsou zničeny jeho obsah.

"a+"

Otevře pro čtení a připojením; nejprve vytvoří soubor, pokud neexistuje.

Použití "w" a "w+" typy opatrně, jako zničí existující soubory.

Při otevření souboru s "a" nebo "a+" přístup typu, všechny zápis operací dojít na konci souboru.ukazatel souboru je můžete přemístit pomocí fseek nebo rewind, ale vždy přesunuta zpět do konce souboru před žádný zápis operace provedena.Proto nelze přepsat existující data.Když "r+", "w+", nebo "a+" je určen typ přístupu, povoleno čtení i zápis (soubor je označováno jako otevřený pro aktualizace).Však při přepnutí mezi čtení a zápis, musí být zasahujících fsetpos, fseek, nebo Převinout operace.Aktuální pozice lze určit pro fsetpos nebo fseek operace podle potřeby.Vedle výše uvedených hodnot, jeden z následujících znaků mohou být součástí mode určit režim překladu pro nové řádky a pro správu souborů.

Termín

Definice

t

Otevře soubor v režimu text (přeložit).V tomto režimu přepravu return–čára krmiv (CR-LF) kombinace jsou přeloženy do kanály jednoho čára (LF) na vstupu a kombinace CR-LF na výstup se přeložit znaky LF.Také CTRL + Z, je interpretován jako znak konce souboru na vstupu.Otevřen pro čtení nebo pro čtení nebo zápis souborů _fsopen CTRL + Z na konci souboru zjistí a odebere, pokud je to možné.Je důvodem, že pomocí fseek a ftell přesouvat v rámci souboru, který může způsobit končí CTRL + Z fseek chování nesprávně poblíž konce souboru.

b

Otevře soubor v binary režimu (nepřeložený); výše uvedené překlady potlačeny.

S

Určuje, že do mezipaměti je optimalizována pro, ale není omezen na sekvenční přístup z disku.

R

Určuje, že do mezipaměti je optimalizována pro, ale není omezen na náhodný přístup z disku.

T

Určuje jako dočasný soubor.Pokud možno nejsou zapsány na disk.

D

Určuje jako dočasný soubor.Po zavření poslední ukazatel souboru je odstraněna.

Pokud t nebo b není uveden v mode, režim překladu je definován výchozí režim proměnná**_fmode**. Pokud t nebo b předponou je argument, funkce se nezdaří a vrátí NULL.Diskuse textu a binary režim, viz textu a binární režim souboru v/V.

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

Termín

Definice

_SH_COMPAT

Nastaví režim kompatibility 16bitových aplikací.

_SH_DENYNO

Povolení čtení a zápis.

_SH_DENYRD

Odepře oprávnění ke čtení souboru.

_SH_DENYRW

Zakazuje čtení a zápis do souboru.

_SH_DENYWR

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

Obecný Text rutinní mapování

Rutina Tchar.h

_UNICODE a _MBCS není definován

_MBCS, definice

_UNICODE, definice

_tfsopen

_fsopen

_fsopen

_wfsopen

Požadavky

Function

Požadované hlavička

Volitelné záhlaví

_fsopen

<stdio.h>

<share.h>

manifest konstanty pro shflag parametr.

_wfsopen

<stdio.h> nebo <wchar.h>

<share.h>

manifest konstanty pro shflag parametr.

Příklad

// crt_fsopen.c

#include <stdio.h>
#include <stdlib.h>
#include <share.h>

int main( void )
{
   FILE *stream;

   // Open output file for writing. Using _fsopen allows us to
   // ensure that no one else writes to the file while we are
   // writing to it.
    //
   if( (stream = _fsopen( "outfile", "wt", _SH_DENYWR )) != NULL )
   {
      fprintf( stream, "No one else in the network can write "
                       "to this file until we are done.\n" );
      fclose( stream );
   }
   // Now others can write to the file while we read it.
   system( "type outfile" );
}
  

Ekvivalent v rozhraní .NET Framework

Viz také

Referenční dokumentace

Proud I/O

fclose _fcloseall

_fdopen _wfdopen

ferror

_fileno

fopen _wfopen

freopen _wfreopen

_open, _wopen

_setmode

_sopen _wsopen