C語言庫函數(shù)參考手冊

上傳人:無*** 文檔編號:21484158 上傳時間:2021-05-02 格式:DOCX 頁數(shù):44 大?。?3.20KB
收藏 版權(quán)申訴 舉報 下載
C語言庫函數(shù)參考手冊_第1頁
第1頁 / 共44頁
C語言庫函數(shù)參考手冊_第2頁
第2頁 / 共44頁
C語言庫函數(shù)參考手冊_第3頁
第3頁 / 共44頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《C語言庫函數(shù)參考手冊》由會員分享,可在線閱讀,更多相關(guān)《C語言庫函數(shù)參考手冊(44頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、 C 語言庫函數(shù)參考手冊 轉(zhuǎn)載說明:可能有些函數(shù)已經(jīng)過時,但從學(xué)習(xí)的角度來看,還是有一定的參考價值。 分類函數(shù) , 所在函數(shù)庫為 ctype.h int isalpha(int ch) 若 ch 是字母 (A-Z,a-z) 返回非 0 值, 否則返回 0 int isalnum(int ch) 若 ch 是字母 (A-Z,a-z) 或數(shù)字 (0-9) 返回非 0 值, 否則返回 0 int isascii(int ch) 若 ch 是字符 (ASCII 碼中

2、的 0-127) 返回非 0 值 , 否則返回 0 int iscntrl(int ch) 若 ch 是作廢字符 (0x7F) 或普通控制字符 (0x00-0x1F) 返回非 0 值, 否則返回 0 int isdigit(int ch) 若 ch 是數(shù)字 (0-9) 返回非 0 值, 否則返回 0 int isgraph(int ch) 若 ch 是可打印字符 ( 不含空格 )(0x21-0x7E) 返回非 0 值, 否則返回 0 int islower(int ch) 若 ch 是小寫字母 (a-z) 返回非 0 值,

3、 否則返回 0 int isprint(int ch) 若 ch 是可打印字符 ( 含空格 )(0x20-0x7E) 返回非 0 值 , 否則返回 0 int ispunct(int ch) 若 ch 是標(biāo)點(diǎn)字符 (0x00-0x1F) 返回非 0 值 , 否則返回 0 int isspace(int ch) 若 ch 是空格 ( ), 水平制表符 (\t), 回車符 (\r), 走紙換行 (\f), 垂直制表符 (\v), 換行符 (\n) 返回非 0 值, 否則返回 0 int isupper(int ch) 若 ch

4、 是大寫字母 (A-Z) 返回非 0 值, 否則返回 0 int isxdigit(int ch) 若 ch 是 16 進(jìn)制數(shù) (0-9,A-F,a-f) 返回非 0 值, 否則返回 0 int tolower(int ch) 若 ch 是大寫字母 (A-Z) 返回相應(yīng)的小寫字母 (a-z) int toupper(int ch) 若 ch 是小寫字母 (a-z) 返回相應(yīng)的大寫字母 (A-Z) 數(shù)學(xué)函數(shù) , 所在函數(shù)庫為 math.h 、stdlib.h 、string.h 、 float.h

5、 int abs(int i) 返回整型參數(shù) i 的絕對值 double cabs(struct complex znum) 返回復(fù)數(shù) znum 的絕對值 double fabs(double x) 返回雙精度參數(shù) x 的絕對值 long labs(long n) 返回長整型參數(shù) n 的絕對值 double exp(double x) 返回指數(shù)函數(shù) ex 的值 double frexp(double value,int *eptr) 返回 va

6、lue=x*2n 中 x 的值 ,n 存貯在 eptr 中 double ldexp(double value,int exp); 返回 value*2exp 的值 double log(double x) 返回 logex 的值 double log10(double x) 返回 log10x 的值 double pow(double x,double y) 返回 xy 的值 double pow10(int p) 返回 10p 的值 double sqrt

7、(double x) 返回 + √ x 的值 double acos(double x) 返回 x 的反余弦 cos-1(x) 值,x 為弧度 double asin(double x) 返回 x 的反正弦 sin-1(x) 值,x 為弧度 double atan(double x) 返回 x 的反正切 tan-1(x) 值,x 為弧度 double atan2(double y,double x) 返回 y/x 的反正切 tan-1(x) 值 ,y 的 x 為弧度 doub

8、le cos(double x) double sin(double x) double tan(double x) double cosh(double x) double sinh(double x) double tanh(double x) double hypot(double x,double y) x double ceil(double x) double floor(double x) void srand(unsigned seed) int rand() double poly(double x,int n,double

9、 c[]) double modf(double value,double *iptr) double fmod(double x,double y) double frexp(double value,int *eptr) double atof(char *nptr) double atoi(char *nptr) double atol(char *nptr) char *ecvt(double value,int ndigit,int *decpt,int *sign)  返回 x 的余弦 cos(x) 值 ,x 為弧度 返回

10、x 的正弦 sin(x) 值 ,x 為弧度 返回 x 的正切 tan(x) 值 ,x 為弧度 返回 x 的雙曲余弦 cosh(x) 值 ,x 為弧度 返回 x 的雙曲正弦 sinh(x) 值 ,x 為弧度 返回 x 的雙曲正切 tanh(x) 值 ,x 為弧度 返回直角三角形斜邊的長度 (z), 和 y 為直角邊的長度 ,z2=x2+y2 返回不小于 x 的最小整數(shù) 返回不大于 x 的最大整數(shù) 初始化隨機(jī)數(shù)發(fā)生器 產(chǎn)生一個隨機(jī)數(shù)并返回這個數(shù) 從參數(shù)產(chǎn)生一個多項(xiàng)式 將雙精度數(shù) value 分解成尾數(shù)和階

11、 返回 x/y 的余數(shù) 將雙精度數(shù) value 分成尾數(shù)和階 將字符串 nptr 轉(zhuǎn)換成浮點(diǎn)數(shù)并返回這個浮點(diǎn)數(shù)將字符串 nptr 轉(zhuǎn)換成整數(shù)并返回這個整數(shù) 將字符串 nptr 轉(zhuǎn)換成長整數(shù)并返回這個整數(shù) 將浮點(diǎn)數(shù) value 轉(zhuǎn)換成字符串并返回該字符串 char *fcvt(double value,int ndigit,int *decpt,int *sign) 將浮點(diǎn)數(shù) value 轉(zhuǎn)換成字符串并返回該字符串 char *gcvt(double value,int ndigit,char *buf) 將數(shù) value 轉(zhuǎn)換成字符串并存于

12、 buf 中 , 并返回 buf 的指針 char *ultoa(unsigned long value,char *string,int radix) 將無符號整型數(shù) value 轉(zhuǎn)換成字符串并返回該字符串 ,radix 為轉(zhuǎn)換時所用基數(shù) char *ltoa(long value,char *string,int radix) 將長整型數(shù) value 轉(zhuǎn)換成字符串并返回該字符串 ,radix 為轉(zhuǎn)換時所用基數(shù) char *itoa(int value,char *string,int radix) 將整數(shù) value 轉(zhuǎn)換成字符串存入 string,radi

13、x 為轉(zhuǎn)換時所用基數(shù) double atof(char *nptr) 將字符串 nptr 轉(zhuǎn)換成雙精度數(shù) , 并返回這個數(shù) , 錯誤返回 0 int atoi(char *nptr) 將字符串 nptr 轉(zhuǎn)換成整型數(shù) , 并返回這個數(shù) , 錯誤返回 0 long atol(char *nptr) 將字符串 nptr 轉(zhuǎn)換成長整型數(shù) , 并返回這個數(shù) , 錯誤返回 0 double strtod(char *str,char **endptr) 將字符串 str 轉(zhuǎn)換成雙精度數(shù) , 并返回這個數(shù) , long strtol(char *str,char **

14、endptr,int base) 將字符串 str 轉(zhuǎn)換成長整型數(shù) , 并返回這個數(shù) , int matherr(struct exception *e) 用戶修改數(shù)學(xué)錯誤返回信息函數(shù) ( 沒有必要使用 ) double _matherr(_mexcep why,char *fun,double *arg1p, double *arg2p,double retval) 用戶修改數(shù)學(xué)錯誤返回信息函數(shù) ( 沒有必要使用 ) unsigned int _clear87() 清除浮點(diǎn)狀態(tài)字并返回原來的浮點(diǎn)狀態(tài) void _fpreset() 重新

15、初使化浮點(diǎn)數(shù)學(xué)程序包 unsigned int _status87()  返回浮點(diǎn)狀態(tài)字 目錄函數(shù)  , 所在函數(shù)庫為  dir.h  、dos.h int  chdir(char *path)  使指定的目錄  path  (如 :"C:\\WPS"  )變成當(dāng)前的工作目錄  , 成 功返回 0 int findfirst(char *pathname,struct ffblk *ffblk,int attrib)

16、  查找指定的文件  , 成功 返回  0 pathname  為指定的目錄名和文件名  , 如 "C:\\WPS\\TXT" ffblk  為指定的保存文件信息的一個結(jié)構(gòu)  , 定義如下  : ┏━━━━━━━━━━━━━━━━━━┓ ┃ struct ffblk ┃ ┃ { ┃ ┃ char ff_reserved[21]; /*DOS 保留字 */ ┃ ┃ char ff_attrib; /* 文件屬性 */ ┃ ┃ int ff_ftime;

17、/* 文件時間 */ ┃ ┃ int ff_fdate; /* 文件日期 */ ┃ ┃ long ff_fsize; /* 文件長度 */ ┃ ┃ char ff_name[13]; /* 文件名 */ ┃ ┃ } ┃ ┗━━━━━━━━━━━━━━━━━━┛ attrib 為文件屬性 , 由以下字符代表 ┏━━━━━━━━━┳━━━━━━━━┓ ┃ FA_RDONLY 只讀文件┃ FA_LABEL 卷標(biāo)號┃ ┃ FA_HIDDEN  隱藏文件┃  FA_DIREC  目錄  ┃

18、 ┃ FA_SYSTEM  系統(tǒng)文件┃  FA_ARCH  檔案  ┃ ┗━━━━━━━━━┻━━━━━━━━┛ 例 : struct ffblk ff; findfirst("*.wps",&ff,FA_RDONLY); int findnext(struct ffblk *ffblk) 取匹配 finddirst 的文件 , void fumerge(char *path,char *drive,char *dir,char *name,char *ext) 此函數(shù)通過盤符 drive(C: 、

19、A: 等 ), 路徑 dir(\TC 、 \BC\LIB 等), 文件名 name(TC 、 WPS等), 擴(kuò)展名 ext(.EXE 、 .COM 等 ) 組成一個文件名  成功返回  0 存與 path 中 . int fnsplit(char *path,char *drive,char *dir,char *name,char *ext) 此函數(shù)將文件名 path 分解成盤符 drive(C: 、 A: 等 ),  路徑  dir(\TC  、\BC

20、\LIB  等), 文件名 name(TC 、 WPS等), 擴(kuò)展名 ext(.EXE 、 .COM 等 ), 并分別存入相應(yīng)的變量中  . int getcurdir(int drive,char *direc) 此函數(shù)返回指定驅(qū)動器的當(dāng)前工作目錄名稱 drive 指定的驅(qū)動器 (0= 當(dāng)前 ,1=A,2=B,3=C 等 ) direc 保存指定驅(qū)動器當(dāng)前工作路徑的變量 成功返回 0 char *getcwd(char *buf,iint n) 此函數(shù)取當(dāng)前工作目錄并存入 buf 中 , 直到 n 個字 節(jié)長

21、為為止  . 錯誤返回  NULL int getdisk()  取當(dāng)前正在使用的驅(qū)動器  , 返回一個整數(shù)  (0=A,1=B,2=C  等) int setdisk(int drive) 置要使用的 器 drive(0=A,1=B,2=C 等 ), 返回可使用 器 數(shù) int mkdir(char *pathname) 建立一個新的目 pathname, 成功返回 0 int rmdir(char *pathname) 除一個目 pathname,

22、 成功返回 0 char *mktemp(char *template) 構(gòu)造一個當(dāng)前目 上沒有的文件名并存于 template中 char *searchpath(char *pathname) 利用 MSDOS找出文件 filename 所在路徑 , , 此函數(shù)使用 DOS的 PATH 量 , 未找到文件返回 NULL 程函數(shù) , 所在函數(shù) stdlib.h 、process.h void abort() 此函數(shù)通 用具有出口代  3 的_exit  寫一個 止信息于

23、  stderr  , 并異常 止程序。無返回 int exec ?裝入和運(yùn)行其它程序 int execl( char *pathname,char *arg0,char *arg1, int execle( char *pathname,char *arg0,char *arg1, char *argn,NULL,char *envp[]) int execlp( char *pathname,char *arg0,char *arg1, int execlpe(char *path

24、name,char *arg0,char *arg1, int execv( char *pathname,char *argv[]) int execve( char *pathname,char *argv[],char *envp[]) int execvp( char *pathname,char *argv[]) int execvpe(char *pathname,char *argv[],char *envp[]) exec 函數(shù)族裝入并運(yùn)行程序 pathname ,并將參數(shù) arg0(arg1,arg2,argv[],envp[]) 子

25、程序 在 exec 函數(shù)族中 , 后 l 、 v 、p 、 e 添加到 exec 后,  ? ,char *argn,NULL) ? , ? ,NULL) ?,NULL,char *envp[]) , 出 返回 -1 所指定的函數(shù)將具有某種操作能力 有后 l v e  p  ,函數(shù)可以利用 DOS 的 PATH 量 找子程序文件。 ,函數(shù)中被 的參數(shù)個數(shù)固定。 ,函數(shù)中被 的參數(shù)個數(shù)不固定。

26、,函數(shù) 指定參數(shù) envp ,允 改 子 程的 境, 無后 e ,子 程使用當(dāng)前程序的 境。 void _exit(int status) void exit(int status)  止當(dāng)前程序 , 但不清理 止當(dāng)前程序 , 關(guān) 所有文件 , 寫 沖區(qū)的 出 并 用任何寄存器的 " 出口函數(shù) ", 無返回  ( 等待 出  ), int spawn ?運(yùn)行子程序 int spawnl( int mode,char *pathname,c

27、har *arg0,char *arg1, ? , char *argn,NULL) int spawnle( int mode,char *pathname,char *arg0,char *arg1, ? , char *argn,NULL,char *envp[]) int spawnlp( int mode,char *pathname,char *arg0,char *arg1, ? , char *argn,NULL) int spawnlpe(int mode,char *pathname,char *arg0,char *arg1

28、, ? , char *argn,NULL,char *envp[]) int spawnv( int mode,char *pathname,char *argv[]) int spawnve( int mode,char *pathname,char *argv[],char *envp[]) int spawnvp( int mode,char *pathname,char *argv[]) int spawnvpe(int mode,char *pathname,char *argv[],char *envp[])

29、 spawn 函數(shù)族在 mode 模式下運(yùn)行子程序 pathname, 并將參數(shù) arg0(arg1,arg2,argv[],envp[]) 傳遞給子程序 . 出錯返回 -1 mode 為運(yùn)行模式 mode 為 P_WAIT P_NOWAIT P_OVERLAY  表示在子程序運(yùn)行完后返回本程序 表示在子程序運(yùn)行時同時運(yùn)行本程序 ( 不可用 ) 表示在本程序退出后運(yùn)行子程序 在 spawn 函數(shù)族中 , 后綴 l 、 v 、p 、e 添加到 spawn 后, 所指定的函數(shù)將具有某種操作能力

30、 有后綴 p 時, 函數(shù)利用 DOS 的 PATH 查找子程序文件 l 時 , 函數(shù)傳遞的參數(shù)個數(shù)固定 . v 時 , 函數(shù)傳遞的參數(shù)個數(shù)不固定 . e 時 , 指定參數(shù) envp 可以傳遞給子程序 , 允許改變子程序運(yùn)行環(huán)境 . 當(dāng)無后綴 e 時 , 子程序使用本程序的環(huán)境 . int system(char *command) 將 MSDOS命令 command 傳遞給 DOS 執(zhí)行 轉(zhuǎn)換子程序 , 函數(shù)庫為 math.h 、 stdlib.h 、 ctype.h 、float.h cha

31、r *ecvt(double value,int ndigit,int *decpt,int *sign) 將浮點(diǎn)數(shù) value 轉(zhuǎn)換成字符串并返回該字符串 char *fcvt(double value,int ndigit,int *decpt,int *sign) 將浮點(diǎn)數(shù) value 轉(zhuǎn)換成字符串并返回該字符串 char *gcvt(double value,int ndigit,char *buf) 將數(shù) value 轉(zhuǎn)換成字符串并存于 buf

32、 中 , 并返回 buf 的指針 char *ultoa(unsigned long value,char *string,int radix) 將無符號整型數(shù) value 轉(zhuǎn)換成字符串并返回該字符串 ,radix為轉(zhuǎn)換時所用基數(shù) char *ltoa(long value,char *string,int radix) 將長整型數(shù) value 轉(zhuǎn)換成字符串并返回該字符串 ,radix 為轉(zhuǎn)換時所用基數(shù) char *itoa(int value,char *string,int radix)

33、 將整數(shù) value 轉(zhuǎn)換成字符串存入 string,radix 為轉(zhuǎn)換時所用基數(shù) double atof(char *nptr) 將字符串 nptr 轉(zhuǎn)換成雙精度數(shù) , 并返回這個數(shù) , 錯誤返回 0 int atoi(char *nptr) 將字符串 nptr 轉(zhuǎn)換成整型數(shù) , 并返回這個數(shù) , 錯誤返回 0 long atol(char *nptr) 將字符串 nptr 轉(zhuǎn)換成長整型數(shù) , 并返回這個數(shù) , 錯誤返回 0 double strtod(char *str,char **endp

34、tr) 將字符串 str 轉(zhuǎn)換成雙精度數(shù) , 并返回這個數(shù) , long strtol(char *str,char **endptr,int base) 將字符串 str 轉(zhuǎn)換成長整型數(shù) , 并返回這個數(shù) , int toascii(int c) 返回 c 相應(yīng)的 ASCII int tolower(int ch) 若 ch 是大寫字母 (A-Z) 返回相應(yīng)的小寫字母 (a-z) int _tolower(int ch) 返回 ch 相應(yīng)的小寫字母 (a-z

35、) int toupper(int ch) 若 ch 是小寫字母 (a-z) 返回相應(yīng)的大寫字母 (A-Z) int _toupper(int ch) 返回 ch 相應(yīng)的大寫字母 (A-Z) 斷函數(shù) , 所在函數(shù)  assert.h  、math.h void assert(int test)  一個 展成  if  句那 的宏,如果  test  失 ,

36、 就 示一個信息并異常 止程序 , 無返回 void perror(char *string) 本函數(shù)將 示最近一次的 信息,格式如下: 字符串 string: 信息 char *strerror(char *str) 本函數(shù)返回最近一次的 信息 , 格式如下 : 字符串 str: 信息 int matherr(struct exception *e) 用 修改數(shù)學(xué) 返回信息函數(shù)  (  沒有必要使用  ) double _matherr(_mexcep why,char *fun,double

37、 *arg1p, double *arg2p,double retval) 用 修改數(shù)學(xué) 返回信息函數(shù) ( 沒有必要使用 ) 入 出子程序 , 函數(shù) io.h 、conio.h 、 stat.h 、 dos.h 、 stdio.h 、signal.h int kbhit() 本函數(shù)返回最近所敲的按 int fgetchar() 從控制臺 ( 鍵盤 ) 一個字符, 示在屏幕上 int getch() 從控制臺 ( 鍵盤 ) 一個字符,不 示在屏幕上 int putch() 向控制臺 ( 鍵盤

38、 ) 寫一個字符 int getchar() 從控制臺 ( 鍵盤 ) 一個字符, 示在屏幕上 int putchar() 向控制臺 ( 鍵盤 ) 寫一個字符 int getche() 從控制臺 ( 鍵盤 ) 一個字符, 示在屏幕上 int ungetch(int c) 把字符 c 退回 控制臺 ( 鍵盤 ) char *cgets(char *string) 從控制臺 ( 鍵盤 ) 入字符串存于 string 中 int scanf(char *format[,argument ?

39、]) 從控制臺 入一個字符串 , 分 各個參數(shù) 行 賦值 , 使用 BIOS 行 出 int vscanf(char *format,Valist param) 從控制臺 入一個字符串 , 分 各個參數(shù) 行 賦值 , 使用 BIOS 行 出 , 參數(shù)從 Valist param 中取得 int cscanf(char *format[,argument ?]) 從控制臺 入一個字符串 , 分 各個參數(shù) 行 賦值 , 直接 控制臺作操作 , 比如 示器在 示 字符 即 直接寫 方式 示

40、 int sscanf(char *string,char *format[,argument, ? ]) 通 字符串 string, 分 各個 參數(shù) 行 int vsscanf(char *string,char *format,Vlist param) 通 字符串 string, 分 各個 參數(shù) 行 , 參數(shù)從 Vlist param 中取得 int puts(char *string) 關(guān)一個字符串 string 控制臺 ( 示器 ), 使用 BI

41、OS 行 出 void cputs(char *string) 送一個字符串 string 控制臺 ( 示器 ), 直接 控制臺作操作 , 比如 示器即 直接寫 方式 示 int printf(char *format[,argument, ?]) 送格式化字符串 出 控制臺 ( 示器 ) 使用 BIOS 行 出 int vprintf(char *format,Valist param) 送格式化字符串 出 控制臺 ( 示器 ) 使用 BIOS

42、 行 出 , 參數(shù)從 Valist param 中取得 int cprintf(char *format[,argument, ? ]) 送格式化字符串 出 控制臺 ( 示器 ), 直接 控制臺作操作 , 比如 示器即 直接寫 方式 示 int vcprintf(char *format,Valist param)  送格式化字符串 出 控制臺  (  示器 ), 直接 控制臺作操作  , 比如 示器即 直接寫 方式 示 

43、 , 參數(shù)從 Valist param 中取得 int sprintf(char *string,char *format[,argument, 將字符串 string 的內(nèi)容重新寫 格式化后的字符串 int vsprintf(char *string,char *format,Valist param) 將字符串 string 的內(nèi)容重新寫 格式化后的字符串 int rename(char *oldname,char *newname) 將文件 int ioctl(int handle,int cmd[,int *argdx,int a

44、rgcx])  ? ]) , 參數(shù)從 oldname  Valist param 的名稱改  中取得 newname 本函數(shù)是用來控制 入 / 出 的, 下表: ┌───┬────────────────────────────┐ │cmd 值 │功能 │ ├───┼────────────────────────────┤ │ 0 │取出 信息 │ │ 1 │ 置 信息

45、 │ │ 2 │把 argcx 字 入由 argdx 所指的地址 │ │ 3 │在 argdx 所指的地址寫 argcx 字 │ │ 4 │除把 handle 當(dāng)作 號 (0= 當(dāng)前 ,1=A, 等) 之外 , 均和 cmd=2 一 │ │ 5 │除把 handle 當(dāng)作 號 (0= 當(dāng)前 ,1=A, 等) 之外 , 均和 cmd=3 一 │ │ 6 │取 入狀 │ │ 7 │取 出狀 │ │ 8 │ 可 性 ; 只 于 DOS 3.x

46、 │ │ 11 │置分享沖突的重算 數(shù) ; 只 DOS 3.x │ └───┴────────────────────────────┘ int (*ssignal(int sig,int(*action)())() 行 件信號 ( 沒必要使用 ) int gsignal(int sig) 行 件信號 ( 沒必要使用 ) int _open(char *pathname,int access) 或?qū)懘蜷_一個文件 , 按后按 access 來確定是 文件 是寫文件 ,access 下表 ┌──

47、────┬────────────────────┐ │access 值 │意 │ ├──────┼────────────────────┤ │O_RDONLY │ 文件 │ │O_WRONLY │寫文件 │ │O_RDWR │即 也寫 │ │O_NOINHERIT │若文件沒有 子程序 , 被包含 │ │O_DENYALL │只允 當(dāng)前 理必 存取的文件 │ │O_DENYWRITE │只允 從任何其它打開的文件 │ │O_DENYREAD │只允 從任何其它打開的文件寫 │ │O_DENYNONE

48、 │允 其它共享打開的文件 │ └──────┴────────────────────┘ int open(char *pathname,int access[,int permiss]) 或?qū)懘蜷_一個文件 按后按 access 來確定是 文件 是寫文件 ,access 下表  , ┌────┬────────────────────┐ │access 值│意義 │ ├────┼────────────────────┤ │O_RDONLY│讀文件 │ │O_WRONLY│寫文件 │ │O

49、_RDWR │即讀也寫 │ │O_NDELAY│沒有使用 ; 對 UNIX 系統(tǒng)兼容 │ │O_APPEND│即讀也寫 , 但每次寫總是在文件尾添加 │ │O_CREAT │若文件存在 , 此標(biāo)志無用 ; 若不存在 , 建新文件 │ │O_TRUNC │若文件存在 , 則長度被截為 0, 屬性不變 │ │O_EXCL │未用 ; 對 UNIX 系統(tǒng)兼容 │ │O_BINARY │此標(biāo)志可顯示地給出以二進(jìn)制方式打開文件 │ │O_TEXT │此標(biāo)志可用于顯示地給出以文本方式打開文件│ └────┴────────────────────┘ p

50、ermiss 為文件屬性 , 可為以下值 : S_IWRITE 允許寫 S_IREAD 允許讀 S_IREAD|S_IWRITE 允許讀、寫 int creat(char *filename,int permiss) 建立一個新文件 filename ,并設(shè)定 讀寫性。  permiss  為文件讀寫性,可以為以下值 S_IWRITE 允許寫 S_IREAD int _creat(char *filename,int attrib)  允許讀  S_IREAD|S_IWRITE 建立一個新文件  允許讀、寫

51、 filename ,并設(shè)定文件 屬性。 attrib  為文件屬性,可以為以下值 FA_RDONLY 只讀 FA_HIDDEN  隱藏  FA_SYSTEM  系統(tǒng) int creatnew(char *filenamt,int attrib)  建立一個新文件  filename  ,并設(shè)定文件 屬性。 attrib  為文件屬性,可以為以下值 FA_RDONLY 只讀 FA_HIDDEN  隱藏  FA_SYSTEM  系統(tǒng) in

52、t creattemp(char *filenamt,int attrib)  建立一個新文件  filename  ,并設(shè)定文件 屬性。 attrib  為文件屬性,可以為以下值 FA_RDONLY 只讀 FA_HIDDEN 隱藏 FA_SYSTEM 系統(tǒng) int read(int handle,void *buf,int nbyte) 從文件號為 handle 的文件中讀 nbyte 個字符 存入 buf 中 int _read(int handle,void *buf,int nbyte) 從文件號為 handle

53、 的文件中讀 nbyte 個字符 存入 buf 中, 直接調(diào)用 MSDOS進(jìn)行操作 . int write(int handle,void *buf,int nbyte) 將 buf 中的 nbyte 個字符寫入文件號 為 handle 的文件中 int _write(int handle,void *buf,int nbyte) 將 buf 中的 nbyte 個字符寫入文件號 為 handle 的文件中 int dup(int handle) 復(fù)制一個文件處理指針 handle, 返回這個指針 int dup2(int

54、handle,int newhandle) 復(fù)制一個文件處理指針 handle 到 newhandle int eof(int *handle) 檢查文件是否結(jié)束 , 結(jié)束返回 1, 否則返回 0 long filelength(int handle) 返回文件長度, handle 為文件號 int setmode(int handle,unsigned mode) 本函數(shù)用來設(shè)定文件號為 handle 的文件的打 開方式 int getftime(int handle,struct ftime *ft

55、ime) 讀取文件號為 handle 的文件的時間, 并將文件時間存于 ftime 結(jié)構(gòu)中,成功返回 0,ftime 結(jié)構(gòu)如下: ┌─────────────────┐ │struct ftime │ │{ │ │ unsigned ft_tsec:5; /* 秒 */ │ │ unsigned ft_min:6; /* 分 */ │ │ unsigned ft_hour:5; /* 時 */

56、 │ │ unsigned ft_day:5; /* 日 */ │ │ unsigned ft_month:4;/* 月 */ │ │ unsigned ft_year:1; /* 年 -1980*/ │ │} │ └─────────────────┘ int setftime(int handle,struct ftime *ftime) 重寫文件號為 handle 的文件時間 , 新時間在結(jié)構(gòu) ftime 中 . 成功返

57、回 0. 結(jié)構(gòu) ftime 如下 : ┌─────────────────┐ │struct ftime │ │{ │ │ unsigned ft_tsec:5; /* 秒 */ │ │ unsigned ft_min:6; /* 分 */ │ │ unsigned ft_hour:5; /* 時 */ │ │ unsigned ft_day:5; /* 日 */ │ │ un

58、signed ft_month:4;/* 月 */ │ │ unsigned ft_year:1; /* 年 -1980*/ │ │} │ └─────────────────┘ long lseek(int handle,long offset,int fromwhere) 本函數(shù)將文件號為 handle 的文件 的指針移到 fromwhere 后的第 offset 個字節(jié)處 . SEEK_SET 文件開關(guān) SEEK_CUR 當(dāng)前位置 SEEK

59、_END 文件尾 long tell(int handle) 本函數(shù)返回文件號為 handle 的文件指針 , 以字節(jié)表示 int isatty(int handle) 本函數(shù)用來取設(shè)備 handle 的類型 int lock(int handle,long offset,long length) 對文件共享作封鎖 int unlock(int handle,long offset,long length) 打開對文件共享的封鎖 int close(int handle) 關(guān)閉 handle

60、 所表示的文件處理 ,handle 是從 _creat 、 creat 、 creatnew 、creattemp 、 dup 、 dup2 、 _open 、 open 中的一個處調(diào)用獲得的文件處理 成功返回 0 否則返回 -1, 可用于 UNIX 系統(tǒng) int _close(int handle) 關(guān)閉 handle 所表示的文件處理 ,handle 是從 _creat 、 creat 、 creatnew 、creattemp 、 dup 、 dup2 、_open 、open 中的一個處調(diào)用獲得的文件

61、處理 成功返回 0 否則返回 -1, 只能用于 MSDOS系統(tǒng) FILE *fopen(char *filename,char *type) 打開一個文件 filename, 打開方式為 type , 并返回這個文件指針, type 可為以下字符串加上后綴 ┌──┬────┬───────┬────────┐ │type │讀寫性 │文本 /2 進(jìn)制文件│建新 / 打開舊文件 │ ├──┼────┼───────┼────────┤ │r │讀 │文本 │打開舊的文件 │ │w │寫 │文本

62、 │建新文件 │ │a │添加 │文本 │有就打開無 建新│ │r+ │ / 寫 │不限制 │打開 │ │w+ │ / 寫 │不限制 │建新文件 │ │a+ │ / 添加 │不限制 │有就打開無 建新│ └──┴────┴───────┴────────┘ 可加的后 t 、 b 。加 b 表示文件以二 制形式 行操作, t 沒必要使用 例: ┌──────────────────┐ │ #include  │ │ main()  │

63、 │ {  │ │  FILE *fp;  │ │  fp=fopen("C:\\WPS\\WPS.EXE","r+b");  │ └──────────────────┘ FILE *fdopen(int ahndle,char *type) FILE *freopen(char *filename,char *type,FILE *stream) int getc(FILE *stream) 從流 stre

64、am 中 一個字符,并返回 個字符 int putc(int ch,FILE *stream) 向流 stream 寫入一個字符 ch int getw(FILE *stream) 從流 stream 入一個整數(shù), 返回 EOF int putw(int w,FILE *stream) 向流 stream 寫入一個整數(shù) int ungetc(char c,FILE *stream) 把字符 c 退回 流 stream ,下一次 的字符將是 c int fgetc(

65、FILE *stream) 從流 stream 一個字符,并返回 個字符 int fputc(int ch,FILE *stream) 將字符 ch 寫入流 stream 中 char *fgets(char *string,int n,FILE *stream) 從流 stream 中 n 個字符存入 string 中 int fputs(char *string,FILE *stream) 將字符串 string 寫入流 stream 中 int fread(void *ptr,int siz

66、e,int nitems,FILE *stream) 從流 stream 中 入 nitems 個 度 size 的字符串存入 ptr 中 int fwrite(void *ptr,int size,int nitems,FILE *stream) 向流 stream 中寫入 nitems 個 度 size 的字符串 , 字符串在 ptr 中 int fscanf(FILE *stream,char *format[,argument, ? ]) 以格式化形式從流 stream 中 入一個字符串 int vfscanf(FILE *stream,char *format

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!