1. 程式人生 > >c語言常用系統函式

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 或