c語言常用系統函式
轉:http://blog.163.com/black_ljz/blog/static/51022262200942611423394/
常用系統函式
常用系統函式.......................................................................................1
附錄B....................................................................................................2
常用系統函式................................................................................................2
B.1 緩衝區操作函式.....................................................................................2
B.2 字元分類函式........................................................................................4
B.3資料轉換函式..........................................................................................6
B.4目錄控制函式..........................................................................................9
B.5 檔案處理函式.......................................................................................11
B.6 數學函式...............................................................................................15
B.7 輸入和輸出函式...................................................................................21
B.8 程序控制函式.......................................................................................38
B.9 查詢和分類函式....................................................................................39
B.10 字串操作函式.................................................................................40
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
附錄B
常用系統函式
在使用C++語言進行程式設計時,許多很基本和很重要的功能都由系統
的庫函式和類庫來實現。為便於學習和使用,本附錄列出了一些常
用的庫函式,供讀者查閱。
本附錄的依據是Windows 環境下VC++編譯系統。由於不同編譯系
統提供的庫函式和類庫可能會稍有差異,讀者在實際使用時應參考
所使用系統的手冊。
為方便查閱,本附錄的內容基本按函式型別分類,不同的分類中的
內容可能會有重疊。對每一個函式,包含對其名稱、原型、引數的
含義、所需標頭檔案、返回值和函式的功能的簡潔說明。凡是函式名
稱以下劃線開頭的(如_open)都是Microsoft 特殊函式,只適合在
Windows 9x 和WinNT 平臺上使用。其它函式均為ANSI 標準函式,
在任何平臺下都能使用。
為節約篇幅,考慮到本書的讀者大多為C 十+語言的初學者,本附錄
只收錄了一些常用的函式。對一些功能相同的函式,省略了其寬字
符和多位元組字元的版本,讀者若需要查閱這方面的內容,可參考相
應的資料。
B.1 緩衝區操作函式
函式名:_memccpy
函式原型:void *_memccpy(void *dest,const void *src,
int c,unsigned int count);
引數:dest 目的指標;sro 源指標;c 拷貝的最後字元;count 字
符個數。
所需標頭檔案:<memory.h>或<string.h>
功能:從src 所指向的地址開始拷貝。個或多個位元組到dest 中。
當指定字元c 已拷貝或已拷貝count 個位元組後停止。
返回值:如果字元c 被拷貝,返回dest 中該字元直接後繼位元組的
指標;如果c 沒有被拷貝則返回NULL。
函式名:memchr
函式原型:void *memchr(const void *buf,int c,sizet
count);
引數:buf 緩衝區的指標;c 查詢的字元;count 檢查的字元個
數。
所需標頭檔案:<memory.h>或<string.h>
功能:查詢buf 的前count 個位元組中c 的第一次出現,當找到c 或
已檢查完count 個位元組時停止。
返回值:如果成功,返回buf 中c 首次出現的位置的指標;否則返
回NULL
函式名:memcpy
返回
返回
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
函式原型:void *memcpy(void *dest,const void *src,
sizet count);
引數:dest 目的緩衝區;src 源緩衝區;count 拷貝的字元個數。
所需標頭檔案:<memory.h>或<string.h>
功能:從sro 拷貝count 個位元組到dest。如果源緩衝區和目的緩
衝區重疊,這個函式不能保證正確拷貝;對於這種情況可使用
memmove 處理。
返回值:返回dest 的值。
函式名:_memlcmp
函式原型:int _memicmp(const void *buf1,const void
*buf2,unsigned int count);
引數:bufl 第一個緩衝區;buf2 第二個緩衝區;count 字元個
數。
所需標頭檔案:<memory.h>或<string.h>
功能:比較兩個緩衝區bufl 和buf2 的前count 個字元,比較過程
是大小寫無關的。
返回值:bufl 和buf2 的前count 個位元組之間的關係:
<0:bufl 小於buf2;=0:bufl 等於buf2;>0:bufl 大於bur2
函式名:memmove
函式原型:void *memmove(void *dest,const void *src,
sizet count);
引數:dest 目的物件;src 源物件;count 拷貝的字元位元組個數。
所需標頭檔案;<string.h>
功能:從src 拷貝count 個位元組到dest。如果源區域與目的區域
有重疊,memmove 也能確保正確拷貝。
返回值:返回dest 的值。
函式名:memset
函式原型:void *memset(void *dest,int c,sizet
count);
引數:dest 目的指標;c 設定的字元;count 字元個數。
所需標頭檔案:<memory.h>或<string.h>
功能:設定dest 的前count 個位元組為字元c。
返回值:返回dest 的值。
函式名:_swab
函式原型:void _swab(char *src,char *dest,int n);
引數:src 需拷貝和交換的資料;dest 交換結果資料的儲存位置;
n 拷貝和交換的位元組個數。
所需標頭檔案:<stdlib.h>
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
功能:從src 拷貝n 個位元組,交換每對相鄰的位元組,並把結果儲存
在dest 中。一般用於為轉換到使用不同位元組次序的機器上而準備
二進位制資料。
返回值:無
B.2 字元分類函式
本類函式都只有一個int 型引數,即要測試的整數。
函式名:isalnum
函式原型:int isalnum(int c);
所需標頭檔案:<ctype.h>
功能:測試c 是否字母或數字。
返回值:如果c 在A~Z、a~z 或0~9 的範圍內,則返回一個非0
值;否則返回0。
函式名:isalpha
函式原型:int isalpha(int c);
所需標頭檔案:<ctype.h>
功能:測試c 是否字母。
返回值:如果c 在A~Z 或a~z 的範圍內,則返回一個非0 值;否
則返回0。
函式名:_isascll
函式原型:int _isascll (int c);
所需標頭檔案:<ctype.h>
功能:測試c 是否ASCII 字元。
返回值:如果c 為一個0x00~0x7F 之間的ASCII 字元,則返回一
個非0 值:否則返回0。
函式名:iscntrl
函式原型:int iscntrl(int c);
所需標頭檔案:<ctype.h>
功能:測試c 是否控制字元,
返回值:如果c 是一個控制字元(0x00~0xlF 或0x7F),則返回一
個非0 值,否則返回0。
函式名:_iscsym
函式原型:int _iscsym (int c);
所需標頭檔案:<ctype.h>
功能:測試c 是否字母、下劃線或數字。
返回值:如果c 是一個字母、下劃線或數字,則返回一個非0 值;
否則返回0。
函式名:_iscsymf
函式原型:int _iscsymf (int c);
返回
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
所需標頭檔案:<ctype.h>
功能:測試是否字母或下劃線。
返回值:如果c 是一個字母或下劃線,則返回一個非0 值;否則返
回0。
函式名:isdigit
函式原型:int isdigit(int c);
所需標頭檔案:<ctype.h>
功能:測試是否十進位制數字。
返回值:如果c 是一個十進位制數字(0~9),則返回一個非0 值;否
則返回0。
函式名:isgraph
函式原型:int isgraph(int c);
所需標頭檔案:<ctype.h>
功能:測試是否空格外的可列印字元。
返回值:如果c 是一個非空格的其它可列印字元,則返回一個非0
值;否則返回0。
函式名:islower
函式原型:int islower(int c);
所需標頭檔案:<ctype.h>
功能:測試是否小寫字母。
返回值:如果c 是一個小寫字母(a~z)
函式名:isprint
函式原型:int isprint(int c);
所需標頭檔案:<ctype.h>
功能:測試是否可列印字元。
返回值:如果c 是一個可列印字元包括空格字元(0x20~0x7E),則
返回一個非0 值;否則返回0。
函式名:ispunct
函式原型:int ispunct(int c);
所需標頭檔案:<ctype.h>
功能:測試是否標點符號。
返回值:如果c 是一個非空格字元並且是isalnum 不為真的字元,
則返回一個非0 值;否則返回0。
函式名:isspace
函式原型:int isspace(int c);
所需標頭檔案:<ctype.h>
功能:測試是否空白。
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
返回值:如果c 是一個空白字元(0x09~0x0D 或0x20) 則返回一
個非0 值;否則返回0。
函式名:isupper
函式原型:int isupper(int c);
所需標頭檔案:<ctype.h>
功能:測試是否大寫字母。
返回值:如果c 是一個大寫字母,則返回一個非0 值;否則返回
0。
函式名:isxdigit
函式原型:int isxdigit(int c);
所需標頭檔案:<ctype.h>
功能:測試是否十六進位制數字。
返回值:如果c 是一個十六進位制數字(A~F,a~f 或0~9),則返
回一個非0 值;否則返回0。
B.3資料轉換函式
函式名:abs
函式原型:int abs(int n);
引數:n 整數值。
所需標頭檔案:<stdlib.h>或<mat}
功能:求絕對值。
返回值:返回n 的絕對值。
函式名:atof,atoi,atol
函式原型:double atof(const char *string);
int atoi(const char *string);
long atol(const char *xstring);
引數:string 要轉換的字串。
所需標頭檔案:atof 需要<math.h>和<stdlib.h>,其它需要
<stdlib.h>
功能:將字串轉換成double(atof)、integer(atoi)或
long(ato1)型資料。
返回值:返回轉換後的結果值,如果輸入不能轉換成對應型別的
值,返回值為0.0(atof)或0(atoi,atol)。溢位情況下返回值不
確定。
函式名:_ecvt
函式原型:char *_ecvt (double value,int count,int
dec,int *sign);
引數:value 被轉換的數;count 儲存的數字個數;dec 儲存的小
數點位置;sign 轉換的數的符號。
所需標頭檔案:<stdlib.h>
返回
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
功能:將double 型浮點數轉換成指定長度的字串,
返回值:返回數字字串的一個指標;沒有錯誤返回
函式名:_fcvt
函式原型:char *_fcvt (double value,int count,int
*dec,int *sign);
引數:value 被轉換的數值lcount 小數點之後的位數;dec 儲存的
小數點位置的指標;sign 儲存的符號指示符的指標。
所需標頭檔案:<stdlib.h>
功能;將double 型浮點數轉換為以空字元結尾的字串。
返回值:返回一個數字字元的指標;沒有錯誤返回。
函式名:_gcvt
函式原型:char _gcvt (double value,int digits,char
*buffer);
引數:value 被轉換的值;digits 儲存的有效數字位數;buffer
結果的儲存位置
所需標頭檔案:<stdlib.h>
功能;將double 型浮點數轉換成字串,並將其儲存在緩衝區中
返回值:返回該數字字串的指標;沒有錯誤返回。
函式名:_itoa,_ltoa
函式原型:char *_itoa (int value,char *strmg,int
radix)
char _ltoa (1ong value,char *string,int radix);
引數:value 要轉換的數;string 結果字串;radix value 的
基數,必須在2~36 的範圍內。
所需標頭檔案:<stdlib.h>
功能:將int(_itoa)或long(_ltoa)型資料轉換成一個以空字元
結尾的字串,並將結果儲存在string 中(至多33 個位元組)。如果
radix 等於10 且value 為負數,結果字串的第一個字元是負號
(-)。
返回值:返回引數string;沒有錯誤返回。
函式名:labs
函式原型:long labs(1ong n);
引數:n 長整數值。
所需標頭檔案:<stdlib.h>和<math.h>
功能:求long 整數的絕對值。
返回值:返回n 的絕對值;沒有錯誤返回。
函式名:strtod
函式原型:double strtod(const char *nptr,char
**endptr);
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
引數:nptr 要轉換的以空字元結尾的字串;endptr 停止掃描的
字元的指標。
所需標頭檔案:<stdlib.h>
功能:將字串nptr 轉換成double 型資料,在遇到第一個不能作
為數值識別的字元時停止,這可能是結尾的空字元。
返回值:返回轉換後的結果。如果發生上溢,函式返回十/一
HUGEVAL,HUGEVAL 的符號與需轉換的值符號相同。如果不能進行
轉換或出現下溢位,則返回0。
函式名:strtol
函式原型:long strtol(const char *nptr,char
**endptr,int base);
引數:nptr 要轉換的以空字元結尾的字串;endptr 停止掃描的
字元的指標;
base 使用的基數。
所需標頭檔案:<stdlib.h>
功能:將字串nptr 轉換成long 型資料。在遇到第一個不能作為
數值識別的字元時停止,這可能是結尾的空字元,或者是第一個大
於或等於base 的數值字元。
返回值:返回轉換後的結果。如果發生上溢,函式返回LONGMAX 或
LONGMIN。如果不能執行轉換,則返回0。
函式名:strtoul
函式原型:unsigned long strtoul(const char *nptr,char
**endptr,int base);
引數:nptr 要轉換的以空字元結尾的字串;endptr 停止掃描的
字元的指標;base 使用的基數。
所需標頭檔案:<stdlib.h>
功能:將字串nptr 轉換成unsignedlong 型資料。在讀到字元
串中第一個不能作為數值識別的字元時停止,這可能是結尾的空字
符或者是大於或等於base 的第一個數值字元。
返回值:返回轉換後的結果。如果發生上溢,函式返回ULONGMAX。
如果不能執行轉換,則返回0。
函式名:_toascii
函式原型:iht _toascii (int c);
引數:c 要轉換的字元。
所需標頭檔案:<ctype.h>
功能:將字元轉換成ASCII 碼
返回值:返回轉換結果。
函式名:tolower
函式原型:int tolower(int c);
引數:c 要轉換的字元。
所需標頭檔案:<stdlib.h>和<ctype.h>
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
功能:將字元轉換為小寫字母。
返回值:返回轉換結果。
函式名:toupper
函式原型:int toupper(int c);
引數:c 要轉換的字元。
所需標頭檔案:<stdlib.h>和<ctype.h>
功能:將字元轉換為大寫字母。
返回值:返回轉換結果。
函式名:_ultoa
函式原型:char *_ultoa (unsigned long value,char
*string,int radix);
引數:value 要轉換的數;string 字串結果;Radix value 的
基數,必須在2_36 的範圍內。
所需標頭檔案:<stdlib.h>
功能:將value 轉換成一個以空字元結尾的字串,並存儲在
string 中(至多33 個位元組),不執行上溢位檢查。
返回值:返回string 的指標;沒有錯誤返回。
B.4目錄控制函式
函式名:_chdir
函式原型:int _chdir(const char *dirname);
引數:dirname 新工作目錄的路徑,必須指向_個現存目錄。
所需標頭檔案:<direct.h>
功能:將當前工作目錄改變為dirname 所指定的目錄。如果在
dirname 中指定一個新驅動器字母,這個函式可以改變任何驅動器
上的當前目錄,預設驅動器也可以改變。
返回值:如果成功,返回0;如所指定的路徑未找到,則返回一1。
函式名_chdrive
函式原型:int _chdrive(int drive);
引數:drive 新工作驅動器號,使用一個整數指出新的工作驅動器
(1=A,2=B 等等)。
所需標頭檔案:<direct.h>
功能:將當前工作驅動器改變為drive 指定的驅動器。
返回值:如果工作驅動器成功改變,返回0 值;否則返回-1。
函式名:_getcwd
函式原型:char *_getcwd(char *buffer,int maxlen);
引數:buffer 路徑的儲存位置;maxlen 路徑的最大長度,以字元
為單位。
所需標頭檔案:<direct.h>
返回
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
功能:獲取預設驅動器上當前工作目錄的完整路徑,並存儲在
buffer 中
(包括結尾的空字元)超過maxlen,會出現一個錯誤。
返回值:返回buffer 的指標,若出錯,則返回NULL。
函式名:_getdcwd
函式原型:char *_getdcwd(int drive,char *buffer,int
maxlen);
引數:drive 磁碟驅動器;buffer 路徑的儲存位置;maxlen 路徑
的最大長度。
所需標頭檔案:<direct.h>
功能:獲取指定驅動器上當前工作目錄的完整路徑,並存儲在
buffer 中。如果路徑的長度(包括結尾的空字元)超過maxlen,會
出現一個錯誤。
返回值;返回buffer 的指標:若出錯,則返回NULL。
函式名:_getdrive
函式原型:int_getdrive(void)
引數:無
所需標頭檔案:<direct.h>
功能:獲取當前(預設)驅動器。
返回值:返回當前(預設)驅動器(1=A,2=B 等等);沒有錯誤返
回。
函式名:_mkdir
函式原型;int_mkdir(const char *dirname);
引數:dirname 新目錄的路徑。
所需標頭檔案:<direct.h>
功能:用指定的dirname 建立一個新目錄。mkdir 每次呼叫僅建立
一個新目錄
返回值:如果成功地建立了新目錄,返回0:出現錯誤時,返回-
1。
函式名:_rmdir
函式原型:int_rmdir(const char *dirname);
引數:dirname 需刪除的目錄的路徑。
所需標頭檔案:<direct.h>
功能:刪除由dirname 指定的目錄,該目錄必須為空必須不能是當
前工作目錄或根目錄。
返回值:如果該目錄成功刪除,返回0;否則返回-1。
函式名:_searchenv
函式原型:void _searchenv(const char *filename,const
cha *varname,char *pathname);
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
引數:filename 要查詢的檔案的名稱varname 查詢的環境:
pathname 儲存完整路徑的緩衝區。
功能:使用環境路徑查詢檔案。首先在當前工作目錄中查詢,如果
沒有找到該檔案,接著查詢環境變數指定的目錄。找到檔案後,將
檔案的路徑存人pathname。如果檔案未找到,pathname 包含一個
空的、以空字元結尾的字串。
返回值:無
B.5 檔案處理函式
B.5.1 在一個檔案控制代碼指定的檔案上進行操作的函式
函式名_chsize
函式原型:int _chsize(int handle,long size);
引數:handle 指向開啟檔案的控制代碼;slze 檔案的新尺寸,以位元組為
單位。
所需標頭檔案;<io.h>
功能:以size 指定的長度擴充或截除與handle 關聯的檔案,該文
件必須以允許寫模式開啟。如果該檔案被擴充,要在末尾新增空字
符(‘\0’);如果檔案被截除,從縮短的檔案的末尾到該檔案的最
初長度之間的所有資料將丟失。
返回值;如果檔案尺寸成功改變,返回0,否則返回-1。
函式名:_filelength
函式原型:long _filelength(int handle)
引數:handle 目標檔案控制代碼。
所需標頭檔案:<io.h>
功能:獲取檔案長度。
返回值:返回與handle 關聯的目標檔案的檔案長度(以位元組為單
位)。若出錯,則返回-1L。
函式名:_fstat
函式原型:int _fstat(int handle,struct stat
*buffer);
引數:handle 開啟檔案的控制代碼;buffer 儲存結果的結構的指標。
所需標頭檔案:<sys/stat.h>和<sys/types.h>
功能:獲取與handle 關聯的開啟檔案的資訊,並存儲在buffer 所
指的結構中。
返回值:如果成功獲取檔案狀態資訊,返回0。否則返回-1。
函式名:_isatty
函式原型: int _lsatty(int handle)
引數:handle 指向測試裝置的控制代碼
所需標頭檔案:<io.h>
功能:確定handle 是否與一個字元裝置(一個終端、控制檯、列印
機或串列埠)關聯。
返回
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
返回值:當handle 與一個字元裝置關聯時,返回一個非0 值;否
則返回0。
函式名:_locking
函式原型:int _locking(int handle,int mode,long
nbytes);
引數:handle 檔案控制代碼;mode 執行鎖定活動;nbytes 鎖定的位元組
數。
所需標頭檔案;<lo.h>和<sys\locking>
功能:鎖定或解鎖由handle 指定的檔案的nbytes 個位元組。鎖定一
個檔案的位元組防止這些位元組被其它程序訪問。所有的鎖定或解鎖開
始於檔案指標的當前位置直到下一個nbytes 位元組。
返回值:如果成功,則返回0。否則返回-1。
函式名:_setmode
函式原型:int _setmode(int handle,int mode);
引數:handle 檔案控制代碼;mode 新的轉換模式,必須是顯式常量
OTEXT 或OBINARY 之一,OTEXT 是文字(可轉換的)模式,輸人中的
回車換行(CR-LF)組合轉換成單個換行符,輸出時單個換行符轉換
成CR-LF 組合;OBINARY 是二進位制(不可轉換的)模式。
所需標頭檔案:<io.h>
功能:將handle 所指定的檔案的轉換模式設定為mode,但不進行
轉換
返回值:如果成功,setmode 返回以前的轉換模式;否則返回一
1。
B.5.2 在一個路徑或檔名指定的檔案上進行操作的函式
函式名:_access
函式原型:int _access(const char *path,int mode);
引數:path 檔案或目錄的路徑。mode 許可權設定:00 僅存在;02
寫許可,04 讀許可,06 讀和寫許可。
所需標頭檔案:<io.h>
功能:當用於檔案時,檢查確定的檔案是否存在且能否以mode 值
指定的模式訪問。當用於目錄時,本函式僅確定指定的目錄是否存
在。
返回值:如果該檔案有給定的模式,每個這樣的函式返回0。如果
指定的檔案不存在或在給定的模式下不能訪問,該函式返回-1。
函式名:_chmod
函式原型:int _chmod(const char *filename,int pmode);
引數:filename 現存檔案的名稱;pmode 檔案的許可權設定。
所需標頭檔案:<io.h>和<sys\stat.h>
功能:改變由filename 指定的檔案的許可權設定。該許可權控制
對檔案的讀和寫訪問許可權。整數表示式pmode 包含如下常量中的—
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
個或兩個:SIWRlTE 寫允許;SIREAD 讀允許;SIREAD|SIWRITE 讀
和寫允許。
返回值:如果該許可設定成功,返回0;如指定的檔案未找到,則
返回-1。
函式名:_fullpath
函式原型:char *_fullpath(char *absPath,const char
*relPath,int maxLength)
引數:absPath 包含絕對或完整路徑名稱的緩衝區的指標,
relPath 相對路徑名稱;
maxLength 絕對路徑名稱緩衝區(absPath)的最大長度。
所需標頭檔案:<stdlib.h>
功能:將relPath 中的相對路徑名稱擴充為完整的或絕對路徑,並
儲存在absPath 中。
返回值:返回一個包含絕對路徑名稱(absPath)的緩衝區的指標。
函式名:_get_osfhandle
函式原型:long _get_osfhandle(int filehandle);
引數mlehandle 使用者檔案控制代碼。
所需標頭檔案:<io.h>
功能:返回與現存流FILE 指標關聯的作業系統檔案控制代碼
返回值:如果成功,getosfhandle 返回對應於filehandle 的一
個作業系統檔案控制代碼;否則返回-l。
函式名:_makepath
函式原型:void _makepath(char *path,const char
*drive,const char *fname,const char *ext)
引數:path 完整路徑緩衝區;drive 驅動器名;dir 目錄路徑;
fname 檔名;ext 副檔名。
所需標頭檔案:<stdlib.h>
功能:建立單個路徑並存儲在path 中。該路徑可以包含一個驅動
器字母、目錄路徑和副檔名。
返回值:無
函式名:_mktemp
函式原型:char *_mktemp(char *template);
引數:template 檔名模式,其格式是baseXXXXXX,這裡base
是你提供的新檔名的一部分,每個X 是將生成的新檔名中一個
字元的佔位符。
所需標頭檔案:<io.h>
功能:mktemp 函式通過修改template 引數建立一個唯一的檔案
名。
返回值:返回一個修改後的指標template。
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
函式名:_open_osfhandle
函式原型:int _open_osfhandle(long osfhandle,int
flags);
引數:osfhandle 作業系統檔案控制代碼。flags 允許操作的型別,是
一個整數表示式
OAPPEND 每次寫操作之前檔案指標定位於檔案末尾;ORDONLY 開啟
檔案用於只讀OTEXT 以文字模式(可轉換的)開啟檔案。
所需標頭檔案:<io.h>
功能:分配一個C 執行檔案控制代碼,並設定它指向由osfhandle 指向
的作業系統檔案控制代碼。
返回值:如果成功,則返回一個C 執行檔案控制代碼,否則返回-1。
函式名:remove
函式原型:int remove(const char *path)
引數:path 要刪除的檔案的路徑。
所需標頭檔案:<stdio.h>或<io.h>
功能:刪除檔案。
返回值:如果成功刪除,返回0,否則返回-1。
函式名:rename
函式原型:int rename(const char *oldname,const char
*newname);
引數: oldname 舊名稱的指標,必須是一個現存檔案或目錄的路徑
名;newname 新檔名稱指標,不能與一個現存檔案或目錄重名。
所需標頭檔案:<io.h>或<stdio.h>
功能:把由oldname 指定的檔案或目錄名改成由newname 給定的
名稱。
返回值:如果成功,返回0;在出錯時,該函式返回非0 值。
函式名:_splitpath
函式原型:void _splitpath(const char *path,char
*drive,char *dir,char *fname,
char *ext);
引數:path 完整路徑;drive 驅動器字母,後跟一個冒號(:)dir
目錄路徑,包括尾部斜槓,正向斜槓(/)、反向斜槓(\)或兩者都
可以使用;fname 檔名(沒有副檔名);ext 檔名副檔名,包括引
導句點(.)。
所需標頭檔案:<stdlib.h>
功能:將一個路徑分解成它的4 個組成成分。
返回值:無。
函式名:_stat
函式原型:int _stat(const char *path,struct stat
*buffer);
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
引數:path 存放檔案的路徑,buffer 儲存結果的結構的指標。
所需標頭檔案:<sys/types.h>和<sys/stat.h>
功能:獲取path 指定的有關檔案或目錄的資訊,將它們儲存在
buffer 所指的結構中。
返回值:如果成功獲取了檔案狀態資訊,返回0。否則返回-1。
函式名:_umask
函式原型:int _umask(int pmode);
引數:pmode 預設的許可設定。
所需標頭檔案:<io.h>和<sys/stat.h>或<sys/types.h>
功能:將當前程序的檔案許可掩碼設定為由pmode 指定的模式,該
許可掩碼用於修改由creat,open 或sopen 建立的檔案的許可設
置。
返回值;返回pmode 以前的值。
函式名_unlink
函式原型:int _unlink(const char *filename);
引數:filename 刪除檔案的名稱。
所需標頭檔案:<io.h>和<stdio.h>
功能:刪除由filename 指定的檔案。
返回值:如果成功,返回0;否則返回-1。
B.6 數學函式
函式名:abs
函式原型:int abs(int n) ;
引數in 需要求絕對值的整數。
所需標頭檔案:<stdlib.h>或<math.h>
功能和返回值:返回n 的絕對值;沒有錯誤返回
函式名:acos
函式原型:double acos(double x) ;
引數:x 是-1 到l 之間的值。
所需標頭檔案;<math.h>
功能和返回值:計算並返回範圍在0 到π弧度之間的x 的反餘弦
值。
函式名:asln
函式原型:double asin(double x);
引數:x 是-l 到1 之間的值。
所需標頭檔案:<math.h>
功能和返回值:計算並返回範圍在-π/2 到π/2 弧度之間的x 的反
正弦值。
函式名:atan,atan2
返回
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
函式原型:double atan(double x);
double atan2(double y,double x);
所需標頭檔案:<math.h>
功能:計算x(atan)或y/x(atan2)的反正切值。
返回值:atan 返回x 的反正切值,atan2 返回y/x 的反正切值。
如果x 為0,則atan 返回0。如果atan2 的兩個引數都為0,該函
數返回0。
函式名:atof
函式原型:double atof(const char ustring);
引數:string 需要轉換的字串。
所需標頭檔案:<math.h>或<stdlib.h>
功能和返回值:將字串轉換成double 值並返回該值。如果
string 不能轉換成double 型別的值,返回值為0.0。
函式名:_cabs
函式原型:double _cabs (struct complex z);
引數:z 複數,必須是型別complex 的結構。
所需標頭檔案:<math.h>
功能和返回值:計算複數2 的絕對值。如果成功,返回z 的絕對
值。
函式名:ceil
函式原型:double ceil(double x);
所需標頭檔案:<math.h>
功能:對x 向上取整,並以double 型浮點數形式儲存結果。
返回值:返回一個double 型的大於或等於x 的最小整數;沒有錯
誤返回。
函式名:_chgsign
函式原型:double _chgsign (double x);
引數:x 需要改變符號的數值。
所需標頭檔案:<float.h>
功能:改變雙精度浮點引數的符號。
返回值:返回一個與引數x 的絕對值相同但符號相反的double
值。
函式名:_copyslgn
函式原型:double _copyslgn (double x,double y);
引數:x 將重新確定符號的數值sy 浮點數,其符號將用來確定x 的
符號
所需標頭檔案:<float.h>
功能:將y 的符號複製給x。
返回值:返回一個絕對值與x 相同,符號與y 相同的double 值。
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
函式名:cos,cosh
函式原型:double cos(double x);
引數:x 弧度值。
所需標頭檔案:<math.h>
功能和返回值:計算並返回x 的餘弦值(cos)或雙曲餘弦值
(cosh)。
函式名:difftime
函式原型:double difftime(timet timerl,timet timer0);
引數:timerl 終止時間;timerO 開始時間。
所需標頭檔案:<time.h>
功能:計算兩個指定時間值之間的差。
返回值:返回從timer0 到timerl 之間經過的時間
函式名:div
函式原型:div_t div(int numer,int denom);
引數:numer 被除數;dehorn 除數。
所需標頭檔案:<stdlib.h>
功能:用numer 除以denom,計算商與餘數。如果除數為0,程式
輸出一個錯誤訊息並終止。
返回值:返回一個div_t 型別的結構,它由商與餘數組成,定義在
stdlib.h 中。
函式名:exp
函式原型:double exp(double x);
所需標頭檔案:<math.h>
功能和返回值:計算並返回e 的x 次冪。上溢位時返回INF(無窮
大),下溢位時返回。
函式名:fabs
函式原型:double fabs(double x);
所需標頭檔案:<math.h>
功能和返回值:計算並返回浮點引數x 的絕對值。
函式名:_finite
函式原型:int _finite (double x);
所需標頭檔案:<float.h>
功能:判斷雙精度浮點值x 是否有窮。
返回值:如果x 是有窮的,也就是說,-INF<X<+INF 時,返回一個
非0 值(true)如果x 是無窮的或NaN,返回0 值(false)。
函式名:floor
函式原型:double floor(double x);
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
所需標頭檔案:<float.h>
功能:向下取整,並以double 型浮點數形式儲存結果。
返回值:返回一個double 型的小於或等於x 的最大整數;沒有錯
誤返回。
函式名:fmod
函式原型:double fmod(double x,double y);
所需標頭檔案:<math.h>
功能和返回值:計算並返回x/y 的餘數,如果y 值是o.0,返回
一個靜止NaN。
函式名:frexp
函式原型:doublefrexp(doublex,Int‘expptr);
引數:x 需要求出尾數和指數的浮點數;expptr 指向指數值的指標
所需標頭檔案:<math.h>
功能:取得一個浮點數的尾數和指數。
返回值:返回尾數。如果x 為o,尾數和指數都為o。
函式名:_hypot
函式原型:double _hypot (double x,double y);
引數:直角三角形的兩個直角邊長度。
所需標頭檔案:<math.h>
功能和返回值:計算並返回直角三角形的斜邊長度(x 與y 的平方
根),上溢位時返INF(無窮大)。
函式名:1abs
函式原型:long labs(1ong n)
所需標頭檔案:<stdlib.h>
功能和返回值:返回long 型引數n 的絕對值
函式名:ldexp
函式原型:double ldexp(double x,int exp);
引數:x 尾數;exp 指數。
所需標頭檔案:<math.h>
功能和返回值:計算並返回變數x 和2 的指定乘方的乘積
(x*2e x p)。
函式名:ldiv
函式原型:ldiv_t ldiv(10ng Int numer,longlilt denom);
引數:numer 被除數;denom 除數。
所需標頭檔案:<stdlib.h>
功能:用numer 除以denom,計算商與餘數。如果除數為0,程式
輸出一個錯誤訊息並終止。
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
返回值:返回一個ldiv_t 型別的結構,它由商和餘數組成,定義
在stdlib.h 中。
函式名:log
函式原型:double log(double x);
所需標頭檔案:<math.h>
功能和返回值:計算並返回x 的自然對數。如果x 是負數,返回值
不確定。如果x 為0,返回INF(無窮大)。
函式名:logl0
函式原型:double logl0(double x);
所需標頭檔案:~math.h 2>
功能和返回值:汁算並返回x 的以10 為底的對數。如果x 是負
數,返回值不確定。如果X 為0,返回INF(無窮大)。
函式名:_logb
函式原型:double _logb (double x);
所需標頭檔案:<float.h>
功能和返回值:返回雙精度浮點引數x 的無偏的指數值。
函式名:_lrotl,_lrotr
函式原型:unsigned long _lrot (unsigned long value,int
shift)
unsigned long _lrotr (unsigned long value,int
shift);
引數:value 需要移位的數值;shift 需要移動的位數。
所需標頭檔案:<stdlib.h>
功能:迴圈移動value 值shift 位。
返回值:返回迴圈移位後的值。
函式名:_max
函式原型:type_max (type a,type b);
引數:type 任何數值資料型別;a 和b 是參與比較的兩個數,必須
是相同型別。
所需標頭檔案:<stdlib.h>
功能和返回值:比較a 和b 並返回其中較大者。
函式名:_min
函式原型:type _min (type a,type b);
引數:type 任何數值資料型別。a 和b 是參與比較的兩個數,必須
是相同型別。
所需標頭檔案:<stdlib.h>
功能和返回值:比較a 和b 並返回其中較小者。
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
函式名:modf
函式原型:double modf(double x,double *inptr);
引數:x 需要分解的數;lnptr 指向分解後整數部分的指標。
所需標頭檔案:<math.h>
功能和返回值:將浮點值x 分解成小數和整數部分,每個都與x 具
有同樣的符號。返回x 的帶符號的小數部分,整數部分作為浮點值
儲存在intptr 處。
函式名:_ nextafter
函式原型:double _ nextafter (double x,double y);
所需標頭檔案:<float.h>
功能和返回值:返回x 與y 之間,與x 最鄰近的可表示的浮點數。
如果x=y,nextafter 返回x,沒有異常觸發。
函式名:pow
函式原型:double pow(double x,double y);
所需標頭檔案:<math.h>
功能和返回值:計算並返回x 的y 次冪。
函式名:printf
函式原型:int printf(const char *format[,
argument]…);
引數:format 格式控制字串;argument 待輸出的內容,任選參
數。
所需標頭檔案:<stdio.h>
功能:格式化並輸出一系列字元和數值到標準輸出流stdout。如果
有引數argument 跟隨format 字串,該format 字串必須包含
確定該引數輸出格式的格式符。
返回值:返回輸出的字元個數:如果出現錯誤,則返回一個負數。
函式名:rand
函式原型:int rand(void);
所需標頭檔案:<stdlib.h>
功能和返回值:求出並返回
函式名:_rotl,_totr
函式原型:unsigned int _rotl (unsigned int value,int
shift);
unsigned int _totr (unsigned mt value,int shift);
引數:value 需要移位的數值;shift 需要移動的位數。
所需標頭檔案:<stdlib.h>
功能:迴圈移動value 值shift 位。_rotl 左迴圈移位,_totr 右
迴圈移位。
返回值:返回迴圈移位後的值。
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
函式名:scanf
函式原型:int scanf(const char *format[,
argument)...);
引數:format 格式控制字串;argument 可選引數,表示輸入內
容的存放地址。
所需標頭檔案:<stdl 瓜h>
功能:scanf 函式從標準輸人流stdin 讀資料並把所讀資料寫到
argument 指定的位置。每個argument 必須是對應於format 中一
個型別指示符的型別的變數的一個指標。
返回值:返回成功轉換和賦值的域的個數。
函式名:sin,sinh
函式原型:double sin(double x);
double sinh(double x);
引數:x 弧度值。
所需標頭檔案:<math.h>
功能和返回值:sin 返回x 的正弦值。sinh 返回x 的雙曲正弦值。
函式名:sqrt
函式原型:double sqrt(double x);
所需標頭檔案:<math.h>
功能和返回值:計算並返回x 的平方根。
函式名:srand
函式原型:void srand(unsigned int seed);
引數:seed 產生隨機數的種子。
所需標頭檔案:<stdlib.h>
功能:為使rand()產生一序列偽隨機整數而設定起始點。使用1 作
為seed 引數,可以重新初始化rand()。
函式名:tan,tanh
函式原型:double tan(double x);
double tanh(double x);
引數:x 弧度值。
所需標頭檔案:<math,h>
功能和返回值:tan 返回x 的正切值。tanh 返回x 的雙曲正切值。
B.7 輸入和輸出函式
B.7.1 流I/O 函式
函式名:clearerr
函式原型:void clearerr(FILE *stream);
引數:stream FILE 結構的指標。
所需標頭檔案:<stdio.h>
返回
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
功能和返回值:清除stream 的錯誤指示符和檔案結束指示符。由
於錯誤指示符不會自動清除,一旦設定了一個指定流的錯誤指示
符,在該流上的操作便持續返回一個錯誤值,直到呼叫了
elearerr、fseek、fsetpos 或rewind。
函式名:fclose
函式原型:int fclose(FILE *stream);
引數:streamFILE 結構的指標。
所需標頭檔案:<stdio.h>
返回值:如果該流成功關閉,fclose 返回0。如果出錯,則返回
EOF。
功能:關閉流。
函式名:fcloseall
函式原型:int fcloseall(void);
引數:streamFII-E 結構的指標
所需標頭檔案:<stdio.h>
功能:關閉除stdin、stdout 和stderr 外所有開啟的流。
返回值:返回關閉的流的總數。如果出錯,則返回EOF。
函式名:_fdopen
函式原型:FILE *_fdopen (int handle,const char
*mode);
引數:handle 開啟檔案的控制代碼;mode 檔案訪問型別。
所需標頭檔案:<stdio.h>
功能:將—個I/O 流與一個先前開啟的、以handle 標識的檔案相
關聯,由此便可以對—個為低階I/O 而開啟的檔案進行緩衝和格式
化。
返回值:返回—個開啟流的指標。如果出錯,將返回一個空指標。
函式名:feof
函式原型:int eof(FILE *stream);
引數:stream FILE 結構的指標。
所需標頭檔案:<stdio.h>
功能:確定stream 是否到達檔案末尾。當到達檔案末尾時,讀操
作返回一個檔案結束指示符,直到該流被關閉或後面呼叫了
rewind、fsetpos、fseek 或clearerr 函式。
返回值:在第一次試圖讀過檔案末尾時,函式返回一個非0 值;如
果當前位置不在檔案末尾,它返回0。
函式名:ferror
函式原型:int ferror(FILE *stream);
引數:stream FILE 結構的指標。
所需標頭檔案:<stdio.h>
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
功能:測試與stream 關聯的檔案上的讀寫錯誤。如果出現一個錯
誤,該函式將設定該流的錯誤指示符並且保留到該流被關閉、重繞
或者後面呼叫了clearerr 函式。
返回值:如果stream 上沒有出現錯誤,{error 返回0;否則返回
一個非0 值。
函式名:fflush
函式原型:int fflush(FILE *stream);
引數:stream FILE 結構的指標。
所需標頭檔案:<stdio.h>
功能:重新整理一個流。如果與stream 關聯的檔案開啟用於輸出,
fflush 將與該流關聯的緩衝區的內容寫到這個檔案中。如果該流打
開用於輸入,fflush 清除緩衝區的內容。對於無緩衝的流,
fflush 沒有效果。
返回值:如果成功重新整理,返回0。當指定的流沒有緩衝區或者以只
讀開啟時也返回0 值。返回EOF 指出一個錯誤。
函式名:fgetc
函式原型:int fgetc(FILE *stream);
引數:stream FILE 結構的指標。
所需標頭檔案:<stdio.h>
功能:從檔案的當前位置讀人一個字元。檔案的讀寫指標會移動到
下一個字元,如果讀到檔案尾,則流的結束標誌被設定。
返回值:返回作為int 所讀的字元,或者返回EOF 指出一個錯誤或
檔案結束。
函式名:_fgetchar
函式原型:int _fgetchar(void);
所需標頭檔案:<stdio.h>
功能:從stdin 讀取一個字元。
返回值:以int 型返回所讀的字元,或者返回EOF 指出一個錯誤或
檔案結束。
函式名:fgetpos
函式原型:int fgetpos(FILE *stream,fpost *pos);
引數:stream 目標流;pos 位置指示器的地址。
所需標頭檔案:<stdio.h>
功能:獲取檔案stream 的位置指示器的當前值,並存儲在pos 所
指的物件中。
返回值:如果成功,返回0;否則返回一個非0 值。
函式名:fgets
函式原型:char *fgets(char *string,int n,FILE
*stream);
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
引數:string 資料的儲存位置;n 讀字元的最多個數;stream
FILE 結構的指標。
所需標頭檔案:<stdio.h>
功能:從stream 讀取一個字串,並存儲在string 中。它從當前
流位置開始讀字元,讀到換行符、流結束或者所讀的字元數等於n-
1。讀到的換行符被保留在字串中,存放在string 中的字串末
尾被新增一個o。
返回值:返回string;返回NULL 指出有錯誤或檔案結束
函式名:_fileno
函式原型:int _fileno (FILE *stream);
引數:stream 是FILE 結構的指標。
所需標頭檔案:<stdio.h>
功能與返回值:返回與stream 關聯的檔案控制代碼;沒有錯誤返回。
如果stream 沒有指定一個已開啟的檔案,其結果是沒有定義的。
函式名:_flushall
函式原型;int _flushall (void);
所需標頭檔案:<stdio.h>
功能:將與開啟的輸出流關聯的所有緩衝區的內容寫到相應的檔案
中,之後清除所有這些緩衝區的當前內容。在呼叫_flushall 之後
保持所有流仍是開啟的。
返回值:返回開啟(輸入和輸出)的個數。
函式名:fopen
函式原型:FILE *fopen(const char *filename,const char
*mode);
引數:filename 檔名指標;mode 檔案訪問型別指標。
所需標頭檔案:<stdio.he>
功能:開啟mename 指定的檔案。mode 指出檔案訪問的型別,其可
取字元的含義如下:“r”開啟已有檔案用於讀,這時如果檔案不存
在或不能找到則失敗。“,”開啟一個空檔案用於寫,如果給定的
檔案存在,它的內容將被清除。“a”開啟檔案用於在檔案末尾寫
(新增),如果檔案不存在則先建立它。“r+”開啟檔案用於讀和寫
(該檔案必須存在)。“w+”開啟一個空檔案用於讀和寫,如果給定
的檔案存在,它的內容將被清除。“a+”開啟檔案用於讀和新增,
如果檔案不存在,則建立它。當一個檔案用“a”或“a+””訪問類
型開啟時,所有寫操作從該檔案的末尾開始。
返回值:返回一個開啟流的指標;如出錯則返回一個空指標。
函式名:fprintf
函式原型:int fprintf(FILE *stream,const char
*format[,argument]...);
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
引數:stream FILE 結構的指標;format 格式控制字串;
argument 需要輸出的內容。
所需標頭檔案:<stdio.h>
功能:格式化並輸出一系列字元和數值到輸出流stream 中。每個
引數argument(如果存在)根據format 中對應的格式規範轉換和輸
出。format 參量與printf 中的該參量具有相同的語法和用途。
返回值:返回所寫的位元組數,當出現錯誤時函式返回一個負數。
函式名:fputc
函式原型:int fputc(int c,FILE *stream);
引數:c 要寫的字元;stream FILE 結構的指標。
所需標頭檔案:<stdio.h>
功能:把單個字元寫在與stream 關聯的檔案中位置指示符指示的
位置,並適當推進該指示符。如果該檔案不支援定位請求或以新增
模式開啟,該字元被新增到流的末尾。
返回值:返回所寫的字元,返回EOF 值指出一個錯誤。
函式名:_fputchar
函式原型:int _fputchar (int c)
引數:要寫的字元。
所需標頭檔案:<stdio.h>
功能:寫字元到stdout。
返回值:返回所寫的字元;返回EOF 值指出一個錯誤。
函式名:fputs
函式原型:int fputs(const char *string,FILE *stream);
引數:string 要輸出的字串;stream FILE 結構的指標。
所需標頭檔案:<stdio.h>
功能:把string 寫到輸出流stream 的當前位置。
返回值:如果成功,返回一個非負數。出現錯誤時,返回EOF。
函式名:fread
函式原型:size_t fread(void *buffer,size_t size,
size_t count,FILE *stream);
引數;buffer 資料的儲存位置;size 每項的位元組數;count 要讀
的最大項數;stream FILE 結構的指標。
所需標頭檔案:<stdio.h>
功能:從輸人流stream 瀆取最多count 個項,每項slze 位元組,
並存儲在buffer 中。
返回值:返回實際讀取的項數。在到達count 之前如果出現錯誤或
遇到檔案結尾則停止讀取,這時實際讀取的項數可能小於count。
函式名:freopen
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
函式原型:FILE *freopen(const char *path,const char
*mode,FILE *stream);
引數;path 新檔案的路徑;mode 檔案訪問許可;stream FILE 結
構的指標。
所需標頭檔案:<stdio,h>
功能:關閉當前與stream 關聯的檔案,並將stream 重新賦給由
path 指定的檔案。
返回值:返回最新開啟的檔案的指標。如果出現錯誤,最初的檔案
被關閉並返回
NULL 指標值。
函式名:fscanf
函式原型:int fscanf(FILE *stream,const char
*format[,argument]...);
引數:streamFILE 結構的指標;format 格式控制字串。format
控制對輸入內容的格式轉換,它與scanf 中的format 參量具有同
樣的格式和功能。每個argument 必須是對應於format 中一個型別
指示符的型別的指標,作為讀人資料的存放地址,是可選參量。
所需標頭檔案:<stdio.h>
功能:從stream 的當前位置讀資料到argument 值定的位置(如果
有)。
返回值:返回成功轉換和儲存的域個數,返回值不包括被瀆但沒有
分配儲存位置的域。返回值0 指出所有域都沒有分配儲存位置。如
果出現錯誤,或者在轉換之前到達檔案流末尾,則返回值為EOF。
函式名:fseek
函式原型:int fseek(FILE *stream,long offset,int
origin);
引數:stream FILE 結構的指標;offset 距離起始位置origin 的
位元組數;origin 起始位置。
所需標頭檔案:<stdio.h>
功能:將與stream 關聯的檔案的讀寫位置指標(如果有)移動到新
位置,該新位置距離origin 位置offset 個位元組。
返回值:如果成功,fseek 返回0;否則返回一個非0 值。
函式名:fsetpos
函式原型:int fsetpos(FILE *stream,const fpost *pos);
引數:stream FILE 結構的指標;pos 指向位置指示符的指標。
所需標頭檔案:<stdio.h>
功能:fsetpos 函式設定stream 的檔案讀寫位置指示符為pos 的
值,pos 是通過在此之前呼叫fgetpos 獲取的。
返回值:如果成功,返回o;否則返回一個非0 值。
函式名:_fsopen
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
函式原型:FILE *_fsopen (const char *filename,const
char *mode,int shflag);
引數:filename 開啟的檔名;mode 檔案訪問許可;shflag 允許
的共享型別。
所需標頭檔案;<stdio.h>
功能;作為一個流開啟Iilename 指定的檔案並根據mode 和
shflag 參量的值準備用於共享讀或寫。
返回值:返回該流的指標。返回值NULL 指出一個錯誤。
函式名:ftell
函式原型:long ftell(FILE *stream)
引數:stream FILE 結構的指標。
所需標頭檔案:<stdio,hT>
功能:ftell 函式獲取與stream 關聯的檔案讀寫指標(如果有)的
當前位置,該位置表示為相對該流開始處的偏移量。
返回值;返回當前檔案讀寫位置,有錯誤時返回-1L。
函式名:fwrite
函式原型:size_t fwrite(const void *buffer,size_t
size,size_t count,FILE *stream);
引數:buffer 被輸出資料的起始地址;size 輸出內容每項的位元組
數;count 要輸出的最大項數;stream FILE 結構指標。
所需標頭檔案:<stdio.h>
功能:從buffer 寫最多count 個項到輸出流中,每個項長度為
size。
返回值:返回實際所寫的項的個數。如果出現錯誤,它可能少於
count。如果出現錯誤,該檔案位置指示符也是不確定的。
函式名:getc
函式原型: int getc(FILE *stream);
引數:stream FILE 結構指標,輸入流。
所需標頭檔案:<stdio.h>
功能和返回值:從輸人流讀取一個字元並返回所讀字元,當出現讀
錯誤或遇到檔案結尾時返回EOF。
函式名:getchar
函式原型:int getchar(void);
所需標頭檔案:<stdio.h>
功能和返回值:從stdin 讀取一個字元並返回所讀字元,當出現讀
錯誤或遇到檔案結尾時返回EOF。
函式名:gets
函式原型:char *gets(char *buffer);
引數:buffer 輸入字串的儲存位置。
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
所需標頭檔案:<stdio.h>
功能:從標準輸入流stdin 讀取一行,並存儲在buffer 中。該行
由直到第一個換行符(‘\n’)的所有字元組成,幷包括該第一個換
行符,然後gets 在返回該行之前用空字元(‘\0’)代替換行符。
返回值:如果成功,返回buffers 如果有錯誤或遇到檔案結尾則返
回NULL 指標。
函式名:_getw
函式原型:int _getw (FILE *stream);
引數:streamFILE 結構的指標。
所需標頭檔案;<stdio.h>
功能:從與stream 關聯的檔案讀取型別為int 的下一個二進位制
值,並遞增關聯檔案的讀寫指標(如果存在)到下一個未讀字元。
返回值:返回所讀整數值;返回EOF 表示有錯誤或檔案結束。
函式名:printf
函式原型:int printf(eonst char *format[,
argument]...);
引數:format 格式控制字串;argument 待輸出的內容,任選參
數。
所需標頭檔案:<stdio.h>
功能:格式化並輸出一系列字元和數值到標準輸出流stdout。如果
有引數argument 跟隨format 字串,該format 字串必須包含
確定該引數輸出格式的格式符。
返回值:返回輸出的字元個數,如果出現錯誤則返回一個負數。
函式名:putc
函式原型:int putc(int c,FILE *stream);
引數:c 要寫的字元;stream FILE 結構指標。
所需標頭檔案:<stdio,h>
功能:寫一個字元到流stream 中。
返回值;返回所寫的字元;如果出現錯誤,返回EOF。
函式名:putchar
函式原型;int putchar(int c);
引數:c 要寫的字元。
所需標頭檔案;<stdio.h>
功能:寫一個字元到stdout 中。
返回值:返回所寫的字元;如果出現錯誤,返回EOF。
函式名:puts
函式原型:int puts(const char *string);
引數:string 要輸出的字串。
所需標頭檔案:<stdio.h>
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
功能:將string 寫到標準輸出流stdout,在輸出流中用換行符
(‘\n’)代替字串的結尾的空字元(‘\0’)。
返回值:如果成功,返回一個非負值;如果失敗,返回EOF。
函式名:_putw
函式原型:int _putw (int binint,FILE *stream);
引數:binint 輸出的二進位制整數;stream FILE 結構的指標。
所需標頭檔案:<stdio.h>
功能:將int 型別的一個二進位制值寫到stream 的當前位置。
返回值:返回所寫的值。返回EOF 只說明可能有錯誤,因為EOF 也
是一個合法的整數值。因此需要呼叫ferror 函式確認是否有錯。
函式名:rewind
函式原型:void rewind(FILE *stream);
引數:stream FILE 結構的指標。
所需標頭檔案:<stdio.h>
功能:重新定位與stream 關聯的檔案讀寫指標到檔案開頭。
返回值:無。
函式名:_rmtmp
函式原型:int _rmtmpp(void);
所需標頭檔案:<stdio.h>
功能;清除當前目錄中的所有臨時檔案;該函式僅刪除那些由
tmpfile 建立的檔案。僅在與建立臨時檔案相同的目錄中使用它。
返回值:返回關閉的和刪除的臨時檔案的個數。
函式名:scanf
函式原型:int scanf(const char *format[,
argument]...);
引數:format 格式控制字串,控制對輸入內容的格式轉換。每個
argument 必須是對應於format 中一個型別指示符的型別的指標,
作為讀人資料的存放地址,是可選參量。
所需標頭檔案:<stdlih.h>
功能:從標準輸入流stdin 讀資料,並把所讀資料寫到argument
給定的位置
返回值:返回成功轉換和儲存的域的個數。返回值不包括已讀但未
儲存的域
出所有域都沒有分配儲存位置。錯誤時返回值為EOF。
函式名:setbuf
函式原型:void setbuf(FILE *stream,char *buffer);
引數:streamFILE 結構的指標,必須指向一個開啟的沒有讀或寫
的檔案。buffer 使用者分配的緩衝區指標,可以為NULL 或指向長度
PDF 檔案使用 "pdfFactory Pro" 試用版本建立 www.fineprint.com.cn
為BUFSIZ 的字元陣列,這裡BUFSIZ 是定義在stdio.h 中的緩衝
區尺寸。
所需標頭檔案:<stdio.h>
功能:控制stream 的緩衝。如果引數buffer 為NULL,該流是非
緩衝的。
函式名:_setmaxstdio
函式原型:int _setmaxstdio (int newmax);
引數;newmaxstdio 層新的同時開啟檔案的最大個數。
所需標頭檔案:<stdio.h>
功能:改變stdio 層上可同時開啟檔案的最大個數。
返回值:如果成功,返回newmax;否則返回一1。
函式名:setvbuf
函式原型:int setvbuf(FILE *stream,char *buffer,int
mode,sizet size);
引數:stream FILE 結構指標,必須指向一個已開啟但未進行過I
/O 操作的檔案。buffer 指向一個用作緩衝區的陣列,或者為
NULL。mode 緩衝模式,必須是IOFBF、IOLBF 或IONBF。SIZe 緩
衝區位元組數,允許的範圍是2~size<32768,提供給size 的值將在
內部被舍入到最接近的2 的倍數。
所需標頭檔案:<stdio.h>
功能:控制stream 的緩衝和緩衝區大小。如果buffer 為NULL,
setvbuf 使用一個長度為size/(2*2)位元組的自動分配的緩衝區。
如果mode 是IOFBF 或