stdioh文件.docx
- 文档编号:5909939
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:25
- 大小:21.17KB
stdioh文件.docx
《stdioh文件.docx》由会员分享,可在线阅读,更多相关《stdioh文件.docx(25页珍藏版)》请在冰豆网上搜索。
stdioh文件
/*DefineISOCstdioontopofC++iostreams.
Copyright(C)1991,1994-2010,2011FreeSoftwareFoundation,Inc.
ThisfileispartoftheGNUCLibrary.
TheGNUCLibraryisfreesoftware;youcanredistributeitand/or
modifyitunderthetermsoftheGNULesserGeneralPublic
LicenseaspublishedbytheFreeSoftwareFoundation;either
version2.1oftheLicense,or(atyouroption)anylaterversion.
TheGNUCLibraryisdistributedinthehopethatitwillbeuseful,
butWITHOUTANYWARRANTY;withouteventheimpliedwarrantyof
MERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.SeetheGNU
LesserGeneralPublicLicenseformoredetails.
YoushouldhavereceivedacopyoftheGNULesserGeneralPublic
LicensealongwiththeGNUCLibrary;ifnot,writetotheFree
SoftwareFoundation,Inc.,59TemplePlace,Suite330,Boston,MA
02111-1307USA.*/
/*
*ISOC99Standard:
7.19Input/output
*/
#ifndef_STDIO_H
#if!
defined__need_FILE&&!
defined__need___FILE
#define_STDIO_H1
#include
__BEGIN_DECLS
#define__need_size_t
#define__need_NULL
#include
#include
#define__need_FILE
#define__need___FILE
#endif/*Don'tneedFILE.*/
#if!
defined__FILE_defined&&defined__need_FILE
/*DefineoutsideofnamespacesotheC++ishappy.*/
struct_IO_FILE;
__BEGIN_NAMESPACE_STD
/*Theopaquetypeofstreams.Thisisthedefinitionusedelsewhere.*/
typedefstruct_IO_FILEFILE;
__END_NAMESPACE_STD
#ifdefined__USE_LARGEFILE64||defined__USE_SVID||defined__USE_POSIX\
||defined__USE_BSD||defined__USE_ISOC99||defined__USE_XOPEN\
||defined__USE_POSIX2
__USING_NAMESPACE_STD(FILE)
#endif
#define__FILE_defined1
#endif/*FILEnotdefined.*/
#undef__need_FILE
#if!
defined____FILE_defined&&defined__need___FILE
/*Theopaquetypeofstreams.Thisisthedefinitionusedelsewhere.*/
typedefstruct_IO_FILE__FILE;
#define____FILE_defined1
#endif/*__FILEnotdefined.*/
#undef__need___FILE
#ifdef_STDIO_H
#define_STDIO_USES_IOSTREAM
#include
#ifdefined__USE_XOPEN||defined__USE_XOPEN2K8
#ifdef__GNUC__
#ifndef_VA_LIST_DEFINED
typedef_G_va_listva_list;
#define_VA_LIST_DEFINED
#endif
#else
#include
#endif
#endif
#ifdef__USE_XOPEN2K8
#ifndef__off_t_defined
#ifndef__USE_FILE_OFFSET64
typedef__off_toff_t;
#else
typedef__off64_toff_t;
#endif
#define__off_t_defined
#endif
#ifdefined__USE_LARGEFILE64&&!
defined__off64_t_defined
typedef__off64_toff64_t;
#define__off64_t_defined
#endif
#ifndef__ssize_t_defined
typedef__ssize_tssize_t;
#define__ssize_t_defined
#endif
#endif
/*Thetypeofthesecondargumentto`fgetpos'and`fsetpos'.*/
__BEGIN_NAMESPACE_STD
#ifndef__USE_FILE_OFFSET64
typedef_G_fpos_tfpos_t;
#else
typedef_G_fpos64_tfpos_t;
#endif
__END_NAMESPACE_STD
#ifdef__USE_LARGEFILE64
typedef_G_fpos64_tfpos64_t;
#endif
/*Thepossibilitiesforthethirdargumentto`setvbuf'.*/
#define_IOFBF0/*Fullybuffered.*/
#define_IOLBF1/*Linebuffered.*/
#define_IONBF2/*Nobuffering.*/
/*Defaultbuffersize.*/
#ifndefBUFSIZ
#defineBUFSIZ_IO_BUFSIZ
#endif
/*Endoffilecharacter.
Somethingsthroughoutthelibraryrelyonthisbeing-1.*/
#ifndefEOF
#defineEOF(-1)
#endif
/*Thepossibilitiesforthethirdargumentto`fseek'.
Thesevaluesshouldnotbechanged.*/
#defineSEEK_SET0/*Seekfrombeginningoffile.*/
#defineSEEK_CUR1/*Seekfromcurrentposition.*/
#defineSEEK_END2/*Seekfromendoffile.*/
#ifdef__USE_GNU
#defineSEEK_DATA3/*Seektonextdata.*/
#defineSEEK_HOLE4/*Seektonexthole.*/
#endif
#ifdefined__USE_SVID||defined__USE_XOPEN
/*Defaultpathprefixfor`tempnam'and`tmpnam'.*/
#defineP_tmpdir"/tmp"
#endif
/*Getthevalues:
L_tmpnamHowlonganarrayofcharsmustbetobepassedto`tmpnam'.
TMP_MAXTheminimumnumberofuniquefilenamesgeneratedbytmpnam
(andtempnamwhenitusestmpnam'snamespace),
ortempnam(thetwoareseparate).
L_ctermidHowlonganarraytopassto`ctermid'.
L_cuseridHowlonganarraytopassto`cuserid'.
FOPEN_MAXMinimumnumberoffilesthatcanbeopenatonce.
FILENAME_MAXMaximumlengthofafilename.*/
#include
/*Standardstreams.*/
externstruct_IO_FILE*stdin;/*Standardinputstream.*/
externstruct_IO_FILE*stdout;/*Standardoutputstream.*/
externstruct_IO_FILE*stderr;/*Standarderroroutputstream.*/
/*C89/C99saythey'remacros.Makethemhappy.*/
#definestdinstdin
#definestdoutstdout
#definestderrstderr
__BEGIN_NAMESPACE_STD
/*RemovefileFILENAME.*/
externintremove(__constchar*__filename)__THROW;
/*RenamefileOLDtoNEW.*/
externintrename(__constchar*__old,__constchar*__new)__THROW;
__END_NAMESPACE_STD
#ifdef__USE_ATFILE
/*RenamefileOLDrelativetoOLDFDtoNEWrelativetoNEWFD.*/
externintrenameat(int__oldfd,__constchar*__old,int__newfd,
__constchar*__new)__THROW;
#endif
__BEGIN_NAMESPACE_STD
/*Createatemporaryfileandopenitread/write.
Thisfunctionisapossiblecancellationpointandthereforenot
markedwith__THROW.*/
#ifndef__USE_FILE_OFFSET64
externFILE*tmpfile(void)__wur;
#else
#ifdef__REDIRECT
externFILE*__REDIRECT(tmpfile,(void),tmpfile64)__wur;
#else
#definetmpfiletmpfile64
#endif
#endif
#ifdef__USE_LARGEFILE64
externFILE*tmpfile64(void)__wur;
#endif
/*Generateatemporaryfilename.*/
externchar*tmpnam(char*__s)__THROW__wur;
__END_NAMESPACE_STD
#ifdef__USE_MISC
/*Thisisthereentrantvariantof`tmpnam'.Theonlydifferenceis
thatitdoesnotallowStobeNULL.*/
externchar*tmpnam_r(char*__s)__THROW__wur;
#endif
#ifdefined__USE_SVID||defined__USE_XOPEN
/*GenerateauniquetemporaryfilenameusinguptofivecharactersofPFX
ifitisnotNULL.Thedirectorytoputthisfileinissearchedfor
asfollows:
Firsttheenvironmentvariable"TMPDIR"ischecked.
Ifitcontainsthenameofawritabledirectory,thatdirectoryisused.
IfnotandifDIRisnotNULL,thatvalueischecked.Ifthatfails,
P_tmpdiristriedandfinally"/tmp".Thestorageforthefilename
isallocatedby`malloc'.*/
externchar*tempnam(__constchar*__dir,__constchar*__pfx)
__THROW__attribute_malloc____wur;
#endif
__BEGIN_NAMESPACE_STD
/*CloseSTREAM.
Thisfunctionisapossiblecancellationpointandthereforenot
markedwith__THROW.*/
externintfclose(FILE*__stream);
/*FlushSTREAM,orallstreamsifSTREAMisNULL.
Thisfunctionisapossiblecancellationpointandthereforenot
markedwith__THROW.*/
externintfflush(FILE*__stream);
__END_NAMESPACE_STD
#ifdef__USE_MISC
/*Fasterversionswhenlockingisnotrequired.
ThisfunctionisnotpartofPOSIXandthereforenoofficial
cancellationpoint.ButduetosimilaritywithanPOSIXinterface
orduetotheimplementationitisacancellationpointand
thereforenotmarkedwith__THROW.*/
externintfflush_unlocked(FILE*__stream);
#endif
#ifdef__USE_GNU
/*Closeallstreams.
ThisfunctionisnotpartofPOSIXandthereforenoofficial
cancellationpoint.ButduetosimilaritywithanPOSIXinterface
orduetotheimplementationitisacancellationpointand
thereforenotmarkedwith__THROW.*/
externintfcloseall(void);
#endif
__BEGIN_NAMESPACE_STD
#ifndef__USE_FILE_OFFSET64
/*Openafileandcreateanewstreamforit.
Thisfunctionisapossiblecancellationpointandthereforenot
markedwith__THROW.*/
externFILE*fopen(__constchar*__restrict__filename,
__constchar*__restrict__modes)__wur;
/*Openafile,replacinganexistingstreamwithit.
Thisfunctionisapossiblecancellationpointandthereforenot
markedwith__THROW.*/
externFILE*freopen(__constchar*__restrict__filename,
__constchar*__restrict__modes,
FILE*__restrict__stream)__wur;
#else
#ifdef__REDIRECT
externFILE*__REDIRECT(fopen,(__constchar*__restrict__filename,
__constchar*__restrict__modes),fopen64)
__wur;
externFILE*__REDIRECT(freopen,(__constchar*__restrict__filename,
__constchar*__restrict__modes,
FILE*__restrict__stream),freopen64)
__wur;
#else
#definefopenfopen64
#definefreopenfreopen64
#endif
#endif
__END_NAMESPACE_STD
#ifdef__USE_LARGEFILE64
externFILE*fopen64(__constchar*__restrict__filename,
__constchar*__restrict__modes)__wur;
externFILE*freopen64(__constchar*__restrict__filename,
__constchar*__restrict__modes,
FILE*__restrict__stream)__wur;
#endif
#ifdef__USE_POSIX
/*Createanewstreamthatreferstoanexistingsystemfiledescriptor.*/
externFILE*fdopen(int__fd,__constchar*__modes)__THROW__wur;
#endif
#ifdef__USE_GNU
/*Createanewstreamthatreferstothegivenmagiccookie,
andusesthegivenfunctionsforinputandoutput.*/
externFILE*fopencookie(void*__restrict__magic_cookie,
__constchar*__restrict__modes,
_IO_cookie_io_functions_t__io_funcs)__THROW__wur;
#endif
#ifdef__USE_XOPEN2K8
/*Createanewstreamthatreferstoamemorybuffer.*/
externFILE*fmemopen(void*__s,size_t__len,__constchar*__modes)
__THROW__wur;
/*Openastreamthatwritesintoamalloc'dbufferthatisexpandedas
necessary.*BUFLOCand*SIZELOCareupdatedwiththebuffer'slocation
andthenumberofcharacterswrittenonfflushorfclose.*/
externFILE*open_memstream(char**__bufloc,size_t*__sizeloc)__THROW__wur;
#endif
__BEGIN_NAMESPACE_STD
/*IfBUFisNULL,makeSTREAMunbuffered.
ElsemakeitusebufferBUF,ofsizeBUFSIZ.*/
externvoidsetbuf(FILE*__restrict__stream,char*__rest
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- stdioh 文件