日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

您好,歡迎進入深圳市穎特新科技有限公司官方網(wǎng)站!

您現(xiàn)在的位置:首頁 新聞資訊 >> 新聞頭條 >> C 標(biāo)準(zhǔn)庫 - <stdio.h>
新聞資訊
NEWS INFORMATION

C 標(biāo)準(zhǔn)庫 - <stdio.h>

發(fā)布時間:2019-05-22

一般地,在C語言或C++中,會把用來#include的文件的擴展名叫 .h,稱其為頭文件。 #include文件的目的就是把多個編譯單元(也就是c或者cpp文件)公用的內(nèi)容,單獨放在一個文件里減少整體代碼尺寸;或者提供跨工程公共代碼。

 

引用方法


#include <stdio.h>
(注:在TC2.0中,允許不引用此頭文件而直接調(diào)用其中的函數(shù),但這種做法是不標(biāo)準(zhǔn)的。也不建議這樣做。以避免出現(xiàn)在其他IDE中無法編譯或執(zhí)行的問題。)[2] 
stdio 就是指 “standard input & output"(標(biāo)準(zhǔn)輸入輸出
所以,源代碼中如用到標(biāo)準(zhǔn)輸入輸出函數(shù)時,就要包含這個頭文件!
例如c語言中的 printf("%d",i); scanf("%d",&i);等函數(shù)。

簡介

stdio .h 頭文件定義了三個變量類型、一些宏和各種函數(shù)來執(zhí)行輸入和輸出。

庫變量

下面是頭文件 stdio.h 中定義的變量類型:

序號變量 & 描述
1 size_t 
這是無符號整數(shù)類型,它是 sizeof 關(guān)鍵字的結(jié)果。
2 FILE 
這是一個適合存儲文件流信息的對象類型。
3 fpos_t 
這是一個適合存儲文件中任何位置的對象類型。

庫宏

下面是頭文件 stdio.h 中定義的宏:

序號宏 & 描述
1 NULL
這個宏是一個空指針常量的值。
2 _IOFBF、_IOLBF 和 _IONBF 
這些宏擴展了帶有特定值的整型常量表達式,并適用于 setvbuf 函數(shù)的第三個參數(shù)。
3 BUFSIZ
這個宏是一個整數(shù),該整數(shù)代表了 setbuf 函數(shù)使用的緩沖區(qū)大小。
4 EOF 
這個宏是一個表示已經(jīng)到達文件結(jié)束的負(fù)整數(shù)。
5 FOPEN_MAX 
這個宏是一個整數(shù),該整數(shù)代表了系統(tǒng)可以同時打開的文件數(shù)量。
6 FILENAME_MAX 
這個宏是一個整數(shù),該整數(shù)代表了字符數(shù)組可以存儲的文件名的最大長度。如果實現(xiàn)沒有任何限制,則該值應(yīng)為推薦的最大值。
7 L_tmpnam 
這個宏是一個整數(shù),該整數(shù)代表了字符數(shù)組可以存儲的由 tmpnam 函數(shù)創(chuàng)建的臨時文件名的最大長度。
8 SEEK_CUR、SEEK_END 和 SEEK_SET 
這些宏是在These macros are used in the fseek 函數(shù)中使用,用于在一個文件中定位不同的位置。
9 TMP_MAX 
這個宏是 tmpnam 函數(shù)可生成的獨特文件名的最大數(shù)量。
10 stderr、stdin 和 stdout 
這些宏是指向 FILE 類型的指針,分別對應(yīng)于標(biāo)準(zhǔn)錯誤、標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出流。

庫函數(shù)

下面是頭文件 stdio.h 中定義的函數(shù):

為了更好地理解函數(shù),請按照下面的序列學(xué)習(xí)這些函數(shù),因為第一個函數(shù)中創(chuàng)建的文件會在后續(xù)的函數(shù)中使用到。

 

序號函數(shù) & 描述
1 int fclose(FILE *stream)
關(guān)閉流 stream。刷新所有的緩沖區(qū)。
2 void clearerr(FILE *stream)
清除給定流 stream 的文件結(jié)束和錯誤標(biāo)識符。
3 int feof(FILE *stream)
測試給定流 stream 的文件結(jié)束標(biāo)識符。
4 int ferror(FILE *stream)
測試給定流 stream 的錯誤標(biāo)識符。
5 int fflush(FILE *stream)
刷新流 stream 的輸出緩沖區(qū)。
6 int fgetpos(FILE *stream, fpos_t *pos)
獲取流 stream 的當(dāng)前文件位置,并把它寫入到 pos。
7 FILE *fopen(const char *filename, const char *mode)
使用給定的模式 mode 打開 filename 所指向的文件。
8 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
從給定流 stream 讀取數(shù)據(jù)到 ptr 所指向的數(shù)組中。
9 FILE *freopen(const char *filename, const char *mode, FILE *stream)
把一個新的文件名 filename 與給定的打開的流 stream 關(guān)聯(lián),同時關(guān)閉流中的舊文件。
10 int fseek(FILE *stream, long int offset, int whence)
設(shè)置流 stream 的文件位置為給定的偏移 offset,參數(shù) offset 意味著從給定的 whence 位置查找的字節(jié)數(shù)。
11 int fsetpos(FILE *stream, const fpos_t *pos)
設(shè)置給定流 stream 的文件位置為給定的位置。參數(shù) pos 是由函數(shù) fgetpos 給定的位置。
12 long int ftell(FILE *stream)
返回給定流 stream 的當(dāng)前文件位置。
13 size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
把 ptr 所指向的數(shù)組中的數(shù)據(jù)寫入到給定流 stream 中。
14 int remove(const char *filename)
刪除給定的文件名 filename,以便它不再被訪問。
15 int rename(const char *old_filename, const char *new_filename)
把 old_filename 所指向的文件名改為 new_filename。
16 void rewind(FILE *stream)
設(shè)置文件位置為給定流 stream 的文件的開頭。
17 void setbuf(FILE *stream, char *buffer)
定義流 stream 應(yīng)如何緩沖。
18 int setvbuf(FILE *stream, char *buffer, int mode, size_t size)
另一個定義流 stream 應(yīng)如何緩沖的函數(shù)。
19 FILE *tmpfile(void)
以二進制更新模式(wb+)創(chuàng)建臨時文件。
20 char *tmpnam(char *str)
生成并返回一個有效的臨時文件名,該文件名之前是不存在的。
21 int fprintf(FILE *stream, const char *format, ...)
發(fā)送格式化輸出到流 stream 中。
22 int printf(const char *format, ...)
發(fā)送格式化輸出到標(biāo)準(zhǔn)輸出 stdout。
23 int sprintf(char *str, const char *format, ...)
發(fā)送格式化輸出到字符串。
24 int vfprintf(FILE *stream, const char *format, va_list arg)
使用參數(shù)列表發(fā)送格式化輸出到流 stream 中。
25 int vprintf(const char *format, va_list arg)
使用參數(shù)列表發(fā)送格式化輸出到標(biāo)準(zhǔn)輸出 stdout。
26 int vsprintf(char *str, const char *format, va_list arg)
使用參數(shù)列表發(fā)送格式化輸出到字符串。
27 int fscanf(FILE *stream, const char *format, ...)
從流 stream 讀取格式化輸入。
28 int scanf(const char *format, ...)
從標(biāo)準(zhǔn)輸入 stdin 讀取格式化輸入。
29 int sscanf(const char *str, const char *format, ...)
從字符串讀取格式化輸入。
30 int fgetc(FILE *stream)
從指定的流 stream 獲取下一個字符(一個無符號字符),并把位置標(biāo)識符往前移動。
31 char *fgets(char *str, int n, FILE *stream)
從指定的流 stream 讀取一行,并把它存儲在 str 所指向的字符串內(nèi)。當(dāng)讀取 (n-1) 個字符時,或者讀取到換行符時,或者到達文件末尾時,它會停止,具體視情況而定。
32 int fputc(int char, FILE *stream)
把參數(shù) char 指定的字符(一個無符號字符)寫入到指定的流 stream 中,并把位置標(biāo)識符往前移動。
33 int fputs(const char *str, FILE *stream)
把字符串寫入到指定的流 stream 中,但不包括空字符。
34 int getc(FILE *stream)
從指定的流 stream 獲取下一個字符(一個無符號字符),并把位置標(biāo)識符往前移動。
35 int getchar(void)
從標(biāo)準(zhǔn)輸入 stdin 獲取一個字符(一個無符號字符)。
36 char *gets(char *str)
從標(biāo)準(zhǔn)輸入 stdin 讀取一行,并把它存儲在 str 所指向的字符串中。當(dāng)讀取到換行符時,或者到達文件末尾時,它會停止,具體視情況而定。
37 int putc(int char, FILE *stream)
把參數(shù) char 指定的字符(一個無符號字符)寫入到指定的流 stream 中,并把位置標(biāo)識符往前移動。
38 int putchar(int char)
把參數(shù) char 指定的字符(一個無符號字符)寫入到標(biāo)準(zhǔn)輸出 stdout 中。
39 int puts(const char *str)
把一個字符串寫入到標(biāo)準(zhǔn)輸出 stdout,直到空字符,但不包括空字符。換行符會被追加到輸出中。
40 int ungetc(int char, FILE *stream)
把字符 char(一個無符號字符)推入到指定的流 stream 中,以便它是下一個被讀取到的字符。
41 void perror(const char *str)
把一個描述性錯誤消息輸出到標(biāo)準(zhǔn)錯誤 stderr。首先輸出字符串 str,后跟一個冒號,然后是一個空格。

標(biāo)準(zhǔn)函數(shù)

int getchar()//從標(biāo)準(zhǔn)輸入設(shè)備讀入一個字符
int putchar()//向標(biāo)準(zhǔn)輸出設(shè)備寫出一個字符
int scanf(char*format[,argument…])//從標(biāo)準(zhǔn)輸入設(shè)備讀入格式化后的數(shù)據(jù)
int printf(char*format[,argument…])//向標(biāo)準(zhǔn)輸出設(shè)備輸出格式化字符串
char gets(char*string)//從標(biāo)準(zhǔn)輸入設(shè)備讀入一個字符串
int puts(char*string)//向標(biāo)準(zhǔn)輸出設(shè)備輸出一個字符串
int sprintf(char*string,char*format[,…])//把格式化的數(shù)據(jù)寫入某個字符串緩沖區(qū)

文件內(nèi)容

文件說明

 

/*
*stdio.h
*ThisfilehasnocopyrightassignedandisplacedinthePublicDomain.
*Thisfileisapartofthemingw-runtimepackage.
*Nowarrantyisgiven;refertothefileDISCLAIMERwithinthepackage.
*
*Definitionsoftypesandprototypesoffunctionsforstandardinputand
*output.
*
*NOTE:ThefilemanipulationfunctionsprovidedbyMicrosoftseemto
*workwitheitherslash(/)orbackslash(\)asthedirectoryseparator.
*
*/

宏定義

#ifndef_STDIO_H_
#define_STDIO_H_
/*Alltheheadersincludethisfile.*/
#include<_mingw.h>
#ifndefRC_INVOKED
#define__need_size_t
#define__need_NULL
#define__need_wchar_t
#define__need_wint_t
#include<stddef.h>
#define__need___va_list
#include<stdarg.h>
#endif/*NotRC_INVOKED*/
/*Flagsfortheiobufstructure*/
#define_IOREAD1/*currentlyreading*/
#define_IOWRT2/*currentlywriting*/
#define_IORW0x0080/*openedas"r+w"*/
/*
*Thethreestandardfilepointersprovidedbytheruntimelibrary.
*NOTE:Thesewillgotothebit-bucketsilentlyinGUIapplications!
*/
#defineSTDIN_FILENO0
#defineSTDOUT_FILENO1
#defineSTDERR_FILENO2
/*Returnedbyvariousfunctionsonendoffileconditionorerror.*/
#defineEOF(-1)
/*
*Themaximumlengthofafilename.YoushoulduseGetVolumeInformation
*insteadofthisconstant.Buthey,thisworks.
*Alsodefinedinio.h.
*/
#ifndefFILENAME_MAX
#defineFILENAME_MAX(260)
#endif
/*
*Themaximumnumberoffilesthatmaybeopenatonce.Ihavesetthisto
*aconservativenumber.Theactualvaluemaybehigher.
*/
#defineFOPEN_MAX(20)
/*Aftercreatingthismanynames,tmpnamandtmpfilereturnNULL*/
#defineTMP_MAX32767
/*
*Tmpnam,tmpfileand,sometimes,_tempnamtrytocreate
*tempfilesintherootdirectoryofthecurrentdrive
*(notinpwd,assuggestedbysomeolderMSdoc's).
*RedefiningthesemacrosdoesnoteffecttheCRTfunctions.
*/
#define_P_tmpdir"\\"
#ifndef__STRICT_ANSI__
#defineP_tmpdir_P_tmpdir
#endif
#define_wP_tmpdirL"\\"
/*
*Themaximumsizeofname(includingNUL)thatwillbeputintheuser
*suppliedbuffercaNamefortmpnam.
*Inferredfromthesizeofthestaticbufferreturnedbytmpnam
*whenpassedaNULLargument.Mayactuallybesmaller.
*/
#defineL_tmpnam(16)
#define_IOFBF0x0000/*fullbuffered*/
#define_IOLBF0x0040/*linebuffered*/
#define_IONBF0x0004/*notbuffered*/
#define_IOMYBUF0x0008/*stdiomalloc()'dbuffer*/
#define_IOEOF0x0010/*EOFreachedonread*/
#define_IOERR0x0020/*I/Oerrorfromsystem*/
#define_IOSTRG0x0040/*Strangeornofiledescriptor*/
#ifdef_POSIX_SOURCE
#define_IOAPPEND0x0200
#endif
/*
*Thebuffersizeasusedbysetbufsuchthatitisequivalentto
*(void)setvbuf(fileSetBuffer,caBuffer,_IOFBF,BUFSIZ).
*/
#defineBUFSIZ512
/*ConstantsfornOriginindicatingthepositionrelativetowhichfseek
*setsthefileposition.Enclosedinifdefsbecauseio.hcouldalso
*definethem.(Thoughnotanymoresinceio.hincludesthisfilenow.)*/
#ifndefSEEK_SET
#defineSEEK_SET(0)
#endif
#ifndefSEEK_CUR
#defineSEEK_CUR(1)
#endif
#ifndefSEEK_END
#defineSEEK_END(2)
#endif
#ifndefRC_INVOKED
#ifndef__VALIST
#ifdef__GNUC__
#define__VALIST__gnuc_va_list
#else
#define__VALISTchar*
#endif
#endif/*defined__VALIST*/
/*
*ThestructureunderlyingtheFILEtype.
*
*Somebelievethatnobodyintheirrightmindshouldmakeuseofthe
*internalsofthisstructure.ProvidedbyPedroA.ArandaGutiirrez
*/
#ifndef_FILE_DEFINED
#define_FILE_DEFINED

結(jié)構(gòu)體定義

typedefstruct_iobuf
{
char*_ptr;
int_cnt;
char*_base;
int_flag;
int_file;
int_charbuf;
int_bufsiz;
char*_tmpfname;
}FILE;
#endif/*Not_FILE_DEFINED*/
/*
*Thestandardfilehandles
*/
#ifndef__DECLSPEC_SUPPORTED
externFILE(*_imp___iob)[];/*ApointertoanarrayofFILE*/
#define_iob(*_imp___iob)/*AnarrayofFILE*/
#else/*__DECLSPEC_SUPPORTED*/
__MINGW_IMPORTFILE_iob[];/*AnarrayofFILEimportedfromDLL.*/
#endif/*__DECLSPEC_SUPPORTED*/
#definestdin(&_iob[STDIN_FILENO])
#definestdout(&_iob[STDOUT_FILENO])
#definestderr(&_iob[STDERR_FILENO])

操作函數(shù)定義

#ifdef__cplusplus
extern"C"{
#endif
/*
*FileOperations
*/
_CRTIMPFILE*__cdeclfopen(constchar*,constchar*);
_CRTIMPFILE*__cdeclfreopen(constchar*,constchar*,FILE*);
_CRTIMPint__cdeclfflush(FILE*);
_CRTIMPint__cdeclfclose(FILE*);
/*MSputsremove&rename(butnotwideversions)inio.halso*/
_CRTIMPint__cdeclremove(constchar*);
_CRTIMPint__cdeclrename(constchar*,constchar*);
_CRTIMPFILE*__cdecltmpfile(void);
_CRTIMPchar*__cdecltmpnam(char*);
#ifndef__STRICT_ANSI__
_CRTIMPchar*__cdecl_tempnam(constchar*,constchar*);
_CRTIMPint__cdecl_rmtmp(void);
#ifndefNO_OLDNAMES
_CRTIMPchar*__cdecltempnam(constchar*,constchar*);
_CRTIMPint__cdeclrmtmp(void);
#endif
#endif/*__STRICT_ANSI__*/
_CRTIMPint__cdeclsetvbuf(FILE*,char*,int,size_t);
_CRTIMPvoid__cdeclsetbuf(FILE*,char*);
/*
*FormattedOutput
*/
_CRTIMPint__cdeclfprintf(FILE*,constchar*,...);
_CRTIMPint__cdeclprintf(constchar*,...);
_CRTIMPint__cdeclsprintf(char*,constchar*,...);
_CRTIMPint__cdecl_snprintf(char*,size_t,constchar*,...);
_CRTIMPint__cdeclvfprintf(FILE*,constchar*,__VALIST);
_CRTIMPint__cdeclvprintf(constchar*,__VALIST);
_CRTIMPint__cdeclvsprintf(char*,constchar*,__VALIST);
_CRTIMPint__cdecl_vsnprintf(char*,size_t,constchar*,__VALIST);
#ifndef__NO_ISOCEXT/*externsinlibmingwex.a*/
int__cdeclsnprintf(char*s,size_tn,constchar*format,...);
__CRT_INLINEint__cdecl
vsnprintf(char*s,size_tn,constchar*format,__VALISTarg)
{return_vsnprintf(s,n,format,arg);}
int__cdeclvscanf(constchar*__restrict__,__VALIST);
int__cdeclvfscanf(FILE*__restrict__,constchar*__restrict__,
__VALIST);
int__cdeclvsscanf(constchar*__restrict__,
constchar*__restrict__,__VALIST);
#endif
/*
*FormattedInput
*/
_CRTIMPint__cdeclfscanf(FILE*,constchar*,...);
_CRTIMPint__cdeclscanf(constchar*,...);
_CRTIMPint__cdeclsscanf(constchar*,constchar*,...);
/*
*CharacterInputandOutputFunctions
*/
_CRTIMPint__cdeclfgetc(FILE*);
_CRTIMPchar*__cdeclfgets(char*,int,FILE*);
_CRTIMPint__cdeclfputc(int,FILE*);
_CRTIMPint__cdeclfputs(constchar*,FILE*);
_CRTIMPchar*__cdeclgets(char*);
_CRTIMPint__cdeclputs(constchar*);
_CRTIMPint__cdeclungetc(int,FILE*);
/*Traditionally,getcandputcaredefinedasmacros.butthe
standarddoesn'tsaythattheymustbemacros.
Weuseinlinefunctionsheretoallowthefastversions
tobeusedinC++withnamespacequalification,eg.,::getc.
_filbufand_flsbufarenotthread-safe.*/
_CRTIMPint__cdecl_filbuf(FILE*);
_CRTIMPint__cdecl_flsbuf(int,FILE*);
#if!defined_MT
__CRT_INLINEint__cdeclgetc(FILE*__F)
{
return(--__F->_cnt>=0)
?(int)(unsignedchar)*__F->_ptr++
:_filbuf(__F);
}
__CRT_INLINEint__cdeclputc(int__c,FILE*__F)
{
return(--__F->_cnt>=0)
?(int)(unsignedchar)(*__F->_ptr++=(char)__c)
:_flsbuf(__c,__F);
}
__CRT_INLINEint__cdeclgetchar(void)
{
return(--stdin->_cnt>=0)
?(int)(unsignedchar)*stdin->_ptr++
:_filbuf(stdin);
}
__CRT_INLINEint__cdeclputchar(int__c)
{
return(--stdout->_cnt>=0)
?(int)(unsignedchar)(*stdout->_ptr++=(char)__c)
:_flsbuf(__c,stdout);}
#else/*Uselibraryfunctions.*/
_CRTIMPint__cdeclgetc(FILE*);
_CRTIMPint__cdeclputc(int,FILE*);
_CRTIMPint__cdeclgetchar(void);
_CRTIMPint__cdeclputchar(int);
#endif
/*
*DirectInputandOutputFunctions
*/
_CRTIMPsize_t__cdeclfread(void*,size_t,size_t,FILE*);
_CRTIMPsize_t__cdeclfwrite(constvoid*,size_t,size_t,FILE*);
/*
*FilePositioningFunctions
*/
_CRTIMPint__cdeclfseek(FILE*,long,int);
_CRTIMPlong__cdeclftell(FILE*);
_CRTIMPvoid__cdeclrewind(FILE*);
#ifdef__USE_MINGW_FSEEK/*Theseareinlibmingwex.a*/
/*
*Workaroundforlimitationsonwin9xwhereafilecontentsare
*notzero'doutifyouseekpasttheendandthenwrite.
*/
int__cdecl__mingw_fseek(FILE*,long,int);
int__cdecl__mingw_fwrite(constvoid*,size_t,size_t,FILE*);
#definefseek(fp,offset,whence)__mingw_fseek(fp,offset,whence)
#definefwrite(buffer,size,count,fp)__mingw_fwrite(buffer,size,count,fp)
#endif/*__USE_MINGW_FSEEK*/
/*
*Anopaquedatatypeusedforstoringfilepositions...Thecontentsof
*thistypeareunknown,butwe(thecompiler)needtoknowthesize
*becausetheprogrammerusingfgetposandfsetposwillbesettingaside
*storageforfpos_tstructres.ActuallyItestedusingabytearrayand
*itisfairlyevidentthatthefpos_ttypeisalong(inCRTDLL.DLL).
*Perhapsanunsignedlong?TODO?It'sdefinitelya64-bitnumberin
*MSVCRThowever,andfornow`longlong'willdo.
*/
#ifdef__MSVCRT__
typedeflonglongfpos_t;
#else
typedeflongfpos_t;
#endif
_CRTIMPint__cdeclfgetpos(FILE*,fpos_t*);
_CRTIMPint__cdeclfsetpos(FILE*,constfpos_t*);
/*
*ErrorFunctions
*/
_CRTIMPint__cdeclfeof(FILE*);
_CRTIMPint__cdeclferror(FILE*);
#ifdef__cplusplus
inlineint__cdeclfeof(FILE*__F)
{return__F->_flag&_IOEOF;}
inlineint__cdeclferror(FILE*__F)
{return__F->_flag&_IOERR;}
#else
#definefeof(__F)((__F)->_flag&_IOEOF)
#defineferror(__F)((__F)->_flag&_IOERR)
#endif
_CRTIMPvoid__cdeclclearerr(FILE*);
_CRTIMPvoid__cdeclperror(constchar*);
#ifndef__STRICT_ANSI__
/*
*Pipes
*/
_CRTIMPFILE*__cdecl_popen(constchar*,constchar*);
_CRTIMPint__cdecl_pclose(FILE*);
#ifndefNO_OLDNAMES
_CRTIMPFILE*__cdeclpopen(constchar*,constchar*);
_CRTIMPint__cdeclpclose(FILE*);
#endif
/*
*OtherNonANSIfunctions
*/
_CRTIMPint__cdecl_flushall(void);
_CRTIMPint__cdecl_fgetchar(void);
_CRTIMPint__cdecl_fputchar(int);
_CRTIMPFILE*__cdecl_fdopen(int,constchar*);
_CRTIMPint__cdecl_fileno(FILE*);
_CRTIMPint__cdecl_fcloseall(void);
_CRTIMPFILE*__cdecl_fsopen(constchar*,constchar*,int);
#ifdef__MSVCRT__
_CRTIMPint__cdecl_getmaxstdio(void);
_CRTIMPint__cdecl_setmaxstdio(int);
#endif
#ifndef_NO_OLDNAMES
_CRTIMPint__cdeclfgetchar(void);
_CRTIMPint__cdeclfputchar(int);
_CRTIMPFILE*__cdeclfdopen(int,constchar*);
_CRTIMPint__cdeclfileno(FILE*);
#endif/*Not_NO_OLDNAMES*/
#define_fileno(__F)((__F)->_file)
#ifndef_NO_OLDNAMES
#definefileno(__F)((__F)->_file)
#endif
#ifdefined(__MSVCRT__)&&!defined(__NO_MINGW_LFS)
#include<sys/types.h>
__CRT_INLINEFILE*__cdeclfopen64(constchar*filename,constchar*mode)
{
returnfopen(filename,mode);
}
int__cdeclfseeko64(FILE*,off64_t,int);
#ifdef__USE_MINGW_FSEEK
int__cdecl__mingw_fseeko64(FILE*,off64_t,int);
#definefseeko64(fp,offset,whence)__mingw_fseeko64(fp,offset,whence)
#endif
__CRT_INLINEoff64_t__cdeclftello64(FILE*stream)
{
fpos_tpos;
if(fgetpos(stream,&pos))
return-1LL;
else
return((off64_t)pos);
}
#endif/*__NO_MINGW_LFS*/
#endif/*Not__STRICT_ANSI__*/
/*Wideversions*/
#ifndef_WSTDIO_DEFINED
/*alsoinwchar.h-keepinsync*/
_CRTIMPint__cdeclfwprintf(FILE*,constwchar_t*,...);
_CRTIMPint__cdeclwprintf(constwchar_t*,...);
_CRTIMPint__cdeclswprintf(wchar_t*,constwchar_t*,...);
_CRTIMPint__cdecl_snwprintf(wchar_t*,size_t,constwchar_t*,...);
_CRTIMPint__cdeclvfwprintf(FILE*,constwchar_t*,__VALIST);
_CRTIMPint__cdeclvwprintf(constwchar_t*,__VALIST);
_CRTIMPint__cdeclvswprintf(wchar_t*,constwchar_t*,__VALIST);
_CRTIMPint__cdecl_vsnwprintf(wchar_t*,size_t,constwchar_t*,__VALIST);
_CRTIMPint__cdeclfwscanf(FILE*,constwchar_t*,...);
_CRTIMPint__cdeclwscanf(constwchar_t*,...);
_CRTIMPint__cdeclswscanf(constwchar_t*,constwchar_t*,...);
_CRTIMPwint_t__cdeclfgetwc(FILE*);
_CRTIMPwint_t__cdeclfputwc(wchar_t,FILE*);
_CRTIMPwint_t__cdeclungetwc(wchar_t,FILE*);
#ifdef__MSVCRT__
_CRTIMPwchar_t*__cdeclfgetws(wchar_t*,int,FILE*);
_CRTIMPint__cdeclfputws(constwchar_t*,FILE*);
_CRTIMPwint_t__cdeclgetwc(FILE*);
_CRTIMPwint_t__cdeclgetwchar(void);
_CRTIMPwchar_t*__cdecl_getws(wchar_t*);
_CRTIMPwint_t__cdeclputwc(wint_t,FILE*);
_CRTIMPint__cdecl_putws(constwchar_t*);
_CRTIMPwint_t__cdeclputwchar(wint_t);
_CRTIMPFILE*__cdecl_wfdopen(int,wchar_t*);
_CRTIMPFILE*__cdecl_wfopen(constwchar_t*,constwchar_t*);
_CRTIMPFILE*__cdecl_wfreopen(constwchar_t*,constwchar_t*,FILE*);
_CRTIMPFILE*__cdecl_wfsopen(constwchar_t*,constwchar_t*,int);
_CRTIMPwchar_t*__cdecl_wtmpnam(wchar_t*);
_CRTIMPwchar_t*__cdecl_wtempnam(constwchar_t*,constwchar_t*);
_CRTIMPint__cdecl_wrename(constwchar_t*,constwchar_t*);
_CRTIMPint__cdecl_wremove(constwchar_t*);
_CRTIMPvoid__cdecl_wperror(constwchar_t*);
_CRTIMPFILE*__cdecl_wpopen(constwchar_t*,constwchar_t*);
#endif/*__MSVCRT__*/
#ifndef__NO_ISOCEXT/*externsinlibmingwex.a*/
int__cdeclsnwprintf(wchar_t*s,size_tn,constwchar_t*format,...);
__CRT_INLINEint__cdecl
vsnwprintf(wchar_t*s,size_tn,constwchar_t*format,__VALISTarg)
{return_vsnwprintf(s,n,format,arg);}
int__cdeclvwscanf(constwchar_t*__restrict__,__VALIST);
int__cdeclvfwscanf(FILE*__restrict__,
constwchar_t*__restrict__,__VALIST);
int__cdeclvswscanf(constwchar_t*__restrict__,
constwchar_t*__restrict__,__VALIST);
#endif
#define_WSTDIO_DEFINED
#endif/*_WSTDIO_DEFINED*/
#ifndef__STRICT_ANSI__
#ifdef__MSVCRT__
#ifndefNO_OLDNAMES
_CRTIMPFILE*__cdeclwpopen(constwchar_t*,constwchar_t*);
#endif/*notNO_OLDNAMES*/
#endif/*MSVCRTruntime*/
/*
*OtherNonANSIwidefunctions
*/
_CRTIMPwint_t__cdecl_fgetwchar(void);
_CRTIMPwint_t__cdecl_fputwchar(wint_t);
_CRTIMPint__cdecl_getw(FILE*);
_CRTIMPint__cdecl_putw(int,FILE*);
#ifndef_NO_OLDNAMES
_CRTIMPwint_t__cdeclfgetwchar(void);
_CRTIMPwint_t__cdeclfputwchar(wint_t);
_CRTIMPint__cdeclgetw(FILE*);
_CRTIMPint__cdeclputw(int,FILE*);
#endif/*Not_NO_OLDNAMES*/
#endif/*__STRICT_ANSI*/
#ifdef__cplusplus
}
#endif
#endif/*NotRC_INVOKED*/
#endif/*_STDIO_H_*/
 
stdio.h所包含的函數(shù):
 
文件訪問
fopen
freopen
fflush
fclose
二進制輸入/輸出
fread
fwrite
非格式化輸入/輸出
fgetc/getc
fputc/putc
ungetc
fgets
fputs
格式化輸入/輸出
scanf/fscanf/sscanf
printf/fprintf/sprintf
perror
文件定位
ftell
fseek
fgetpos
fsetpos
rewind
錯誤處理
feof
ferror
文件操作
remove
rename
tmpfile

 

聯(lián)系方式0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

抚顺市| 定远县| 拜泉县| 屏南县| 科尔| 营山县| 阜阳市| 革吉县| 盐山县| 城口县| 仁怀市| 澄江县| 双江| 策勒县| 孝义市| 彰化市| 行唐县| 额尔古纳市| 芒康县| 丹巴县| 青州市| 中山市| 阿拉善右旗| 虎林市| 宕昌县| 泰和县| 抚松县| 攀枝花市| 革吉县| 武夷山市| 台中县| 上虞市| 洪雅县| 清河县| 龙海市| 酉阳| 鱼台县| 乾安县| 图们市| 会同县| 田阳县|