C库函数手册---stdlib.h、process.h,assert.h、math.h,io.h、conio.h、stat.h、dos.h、stdio.h、signal.h,,

进程函数,所在函数库为stdlib.h、process.h
void  abort() 此函数通过调用具有出口代码3的_exit写一个终止信息于stderr,
        并异常终止程序。无返回值
int   exec…装入和运行其它程序
int   execl(  char *pathname,char *arg0,char *arg1,…,char *argn,NULL)
int   execle( char *pathname,char *arg0,char *arg1,…,
              char *argn,NULL,char *envp[])
int   execlp( char *pathname,char *arg0,char *arg1,…,NULL)
int   execlpe(char *pathname,char *arg0,char *arg1,…,NULL,char *envp[])
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函数族装入并运行程序pathname,并将参数
          arg0(arg1,arg2,argv[],envp[])传递给子程序,出错返回-1
       在exec函数族中,后缀l、v、p、e添加到exec后,
       所指定的函数将具有某种操作能力
      有后缀  p时,函数可以利用DOS的PATH变量查找子程序文件。
              l时,函数中被传递的参数个数固定。
              v时,函数中被传递的参数个数不固定。
              e时,函数传递指定参数envp,允许改变子进程的环境,
                   无后缀e时,子进程使用当前程序的环境。

void  _exit(int status)终止当前程序,但不清理现场
void  exit(int status) 终止当前程序,关闭所有文件,写缓冲区的输出(等待输出),
                       并调用任何寄存器的"出口函数",无返回值

int   spawn…运行子程序
int   spawnl(  int mode,char *pathname,char *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,…,
               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[])
       spawn函数族在mode模式下运行子程序pathname,并将参数
        arg0(arg1,arg2,argv[],envp[])传递给子程序.出错返回-1
       mode为运行模式
        mode为 P_WAIT   表示在子程序运行完后返回本程序
               P_NOWAIT 表示在子程序运行时同时运行本程序(不可用)
               P_OVERLAY表示在本程序退出后运行子程序
        在spawn函数族中,后缀l、v、p、e添加到spawn后,
        所指定的函数将具有某种操作能力
        有后缀 p时, 函数利用DOS的PATH查找子程序文件
               l时, 函数传递的参数个数固定.
               v时, 函数传递的参数个数不固定.
               e时, 指定参数envp可以传递给子程序,允许改变子程序运行环境.
                  当无后缀e时,子程序使用本程序的环境.

int   system(char *command) 将MSDOS命令command传递给DOS执行

转换子程序,函数库为math.h、stdlib.h、ctype.h、float.h
char   *ecvt(double value,int ndigit,int *decpt,int *sign)
         将浮点数value转换成字符串并返回该字符串
char   *fcvt(double value,int ndigit,int *decpt,int *sign)
         将浮点数value转换成字符串并返回该字符串
char   *gcvt(double value,int ndigit,char *buf)
         将数value转换成字符串并存于buf中,并返回buf的指针
char  *ultoa(unsigned long value,char *string,int radix)
         将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数
char   *ltoa(long value,char *string,int radix)
         将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数
char   *itoa(int value,char *string,int radix)
         将整数value转换成字符串存入string,radix为转换时所用基数
double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0
int    atoi(char *nptr) 将字符串nptr转换成整型数,  并返回这个数,错误返回0
long   atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0
double strtod(char *str,char **endptr)将字符串str转换成双精度数,并返回这个数,
long   strtol(char *str,char **endptr,int base)将字符串str转换成长整型数,
                                               并返回这个数,
int    toascii(int c)   返回c相应的ASCII
int    tolower(int ch)  若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z')
int   _tolower(int ch)  返回ch相应的小写字母('a'-'z')
int    toupper(int ch)  若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z')
int   _toupper(int ch)  返回ch相应的大写字母('A'-'Z')

诊断函数,所在函数库为assert.h、math.h
void   assert(int test) 一个扩展成if语句那样的宏,如果test测试失败,
        就显示一个信息并异常终止程序,无返回值
void   perror(char *string) 本函数将显示最近一次的错误信息,格式如下:
        字符串string:错误信息
char   *strerror(char *str) 本函数返回最近一次的错误信息,格式如下:
        字符串str:错误信息
int    matherr(struct exception *e)
        用户修改数学错误返回信息函数(没有必要使用)
double _matherr(_mexcep why,char *fun,double *arg1p,
                double *arg2p,double retval)
        用户修改数学错误返回信息函数(没有必要使用)

输入输出子程序,函数库为io.h、conio.h、stat.h、dos.h、stdio.h、signal.h
int   kbhit()    本函数返回最近所敲的按键
int   fgetchar() 从控制台(键盘)读一个字符,显示在屏幕上
int   getch()    从控制台(键盘)读一个字符,不显示在屏幕上
int   putch()    向控制台(键盘)写一个字符
int   getchar()  从控制台(键盘)读一个字符,显示在屏幕上
int   putchar()  向控制台(键盘)写一个字符
int   getche()   从控制台(键盘)读一个字符,显示在屏幕上
int   ungetch(int c) 把字符c退回给控制台(键盘)
char *cgets(char *string) 从控制台(键盘)读入字符串存于string中
int   scanf(char *format[,argument…])从控制台读入一个字符串,分别对各个参数进行
       赋值,使用BIOS进行输出
int   vscanf(char *format,Valist param)从控制台读入一个字符串,分别对各个参数进行
       赋值,使用BIOS进行输出,参数从Valist param中取得
int   cscanf(char *format[,argument…])从控制台读入一个字符串,分别对各个参数进行
       赋值,直接对控制台作操作,比如显示器在显示时字符时即为直接写频方式显示
int   sscanf(char *string,char *format[,argument,…])通过字符串string,分别对各个
       参数进行赋值
int   vsscanf(char *string,char *format,Vlist param)通过字符串string,分别对各个
       参数进行赋值,参数从Vlist param中取得
int   puts(char *string)  发关一个字符串string给控制台(显示器),
       使用BIOS进行输出
void  cputs(char *string) 发送一个字符串string给控制台(显示器),
       直接对控制台作操作,比如显示器即为直接写频方式显示
int   printf(char *format[,argument,…]) 发送格式化字符串输出给控制台(显示器)
       使用BIOS进行输出
int   vprintf(char *format,Valist param) 发送格式化字符串输出给控制台(显示器)
       使用BIOS进行输出,参数从Valist param中取得
int   cprintf(char *format[,argument,…]) 发送格式化字符串输出给控制台(显示器),
       直接对控制台作操作,比如显示器即为直接写频方式显示
int   vcprintf(char *format,Valist param)发送格式化字符串输出给控制台(显示器),
       直接对控制台作操作,比如显示器即为直接写频方式显示,
       参数从Valist param中取得
int   sprintf(char *string,char *format[,argument,…])
        将字符串string的内容重新写为格式化后的字符串
int   vsprintf(char *string,char *format,Valist param)
        将字符串string的内容重新写为格式化后的字符串,参数从Valist param中取得
int   rename(char *oldname,char *newname)将文件oldname的名称改为newname
int   ioctl(int handle,int cmd[,int *argdx,int argcx])
        本函数是用来控制输入/输出设备的,请见下表:
        ┌───┬────────────────────────────┐
        │cmd值 │功能                                                    │
        ├───┼────────────────────────────┤
        │  0   │取出设备信息                                            │
        │  1   │设置设备信息                                            │
        │  2   │把argcx字节读入由argdx所指的地址                        │
        │  3   │在argdx所指的地址写argcx字节                            │
        │  4   │除把handle当作设备号(0=当前,1=A,等)之外,均和cmd=2时一样 │
        │  5   │除把handle当作设备号(0=当前,1=A,等)之外,均和cmd=3时一样 │
        │  6   │取输入状态                                              │
        │  7   │取输出状态                                              │
        │  8   │测试可换性;只对于DOS 3.x                                │
        │  11  │置分享冲突的重算计数;只对DOS 3.x                        │
        └───┴────────────────────────────┘
int   (*ssignal(int sig,int(*action)())()执行软件信号(没必要使用)
int   gsignal(int sig)                   执行软件信号(没必要使用)

int   _open(char *pathname,int access)为读或写打开一个文件,
        按后按access来确定是读文件还是写文件,access值见下表
        ┌──────┬────────────────────┐
        │access值    │意义                                    │
        ├──────┼────────────────────┤
        │O_RDONLY    │读文件                                  │
        │O_WRONLY    │写文件                                  │
        │O_RDWR      │即读也写                                │
        │O_NOINHERIT │若文件没有传递给子程序,则被包含         │
        │O_DENYALL   │只允许当前处理必须存取的文件            │
        │O_DENYWRITE │只允许从任何其它打开的文件读            │
        │O_DENYREAD  │只允许从任何其它打开的文件写            │
        │O_DENYNONE  │允许其它共享打开的文件                  │
        └──────┴────────────────────┘
int   open(char *pathname,int access[,int permiss])为读或写打开一个文件,
        按后按access来确定是读文件还是写文件,access值见下表
        ┌────┬────────────────────┐
        │access值│意义                                    │
        ├────┼────────────────────┤
        │O_RDONLY│读文件                                  │
        │O_WRONLY│写文件                                  │
        │O_RDWR  │即读也写                                │
        │O_NDELAY│没有使用;对UNIX系统兼容                 │
        │O_APPEND│即读也写,但每次写总是在文件尾添加       │
        │O_CREAT │若文件存在,此标志无用;若不存在,建新文件 │
        │O_TRUNC │若文件存在,则长度被截为0,属性不变       │
        │O_EXCL  │未用;对UNIX系统兼容                     │
        │O_BINARY│此标志可显示地给出以二进制方式打开文件  │
        │O_TEXT  │此标志可用于显示地给出以文本方式打开文件│
        └────┴────────────────────┘
        permiss为文件属性,可为以下值:
         S_IWRITE允许写  S_IREAD允许读  S_IREAD|S_IWRITE允许读、写
int   creat(char *filename,int permiss)  建立一个新文件filename,并设定
       读写性。permiss为文件读写性,可以为以下值
        S_IWRITE允许写  S_IREAD允许读  S_IREAD|S_IWRITE允许读、写
int  _creat(char *filename,int attrib)  建立一个新文件filename,并设定文件
      属性。attrib为文件属性,可以为以下值
        FA_RDONLY只读  FA_HIDDEN隐藏  FA_SYSTEM系统
int   creatnew(char *filenamt,int attrib) 建立一个新文件filename,并设定文件
       属性。attrib为文件属性,可以为以下值
         FA_RDONLY只读  FA_HIDDEN隐藏  FA_SYSTEM系统
int   creattemp(char *filenamt,int attrib) 建立一个新文件filename,并设定文件
       属性。attrib为文件属性,可以为以下值
         FA_RDONLY只读  FA_HIDDEN隐藏  FA_SYSTEM系统
int   read(int handle,void *buf,int nbyte)从文件号为handle的文件中读nbyte个字符
       存入buf中
int  _read(int handle,void *buf,int nbyte)从文件号为handle的文件中读nbyte个字符
       存入buf中,直接调用MSDOS进行操作.
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) 复制一个文件处理指针handle,返回这个指针
int   dup2(int handle,int newhandle) 复制一个文件处理指针handle到newhandle
int   eof(int *handle)检查文件是否结束,结束返回1,否则返回0
long  filelength(int handle) 返回文件长度,handle为文件号
int   setmode(int handle,unsigned mode)本函数用来设定文件号为handle的文件的打
       开方式
int   getftime(int handle,struct ftime *ftime) 读取文件号为handle的文件的时间,
        并将文件时间存于ftime结构中,成功返回0,ftime结构如下:
        ┌─────────────────┐
        │struct ftime                      │
        │{                                 │
        │ unsigned ft_tsec:5; /*秒*/       │
        │ unsigned ft_min:6;  /*分*/       │
        │ unsigned ft_hour:5; /*时*/       │
        │ unsigned ft_day:5;  /*日*/       │
        │ unsigned ft_month:4;/*月*/       │
        │ unsigned ft_year:1; /*年-1980*/  │
        │}                                 │
        └─────────────────┘
int   setftime(int handle,struct ftime *ftime) 重写文件号为handle的文件时间,
       新时间在结构ftime中.成功返回0.结构ftime如下:
        ┌─────────────────┐
        │struct ftime                      │
        │{                                 │
        │ unsigned ft_tsec:5; /*秒*/       │
        │ unsigned ft_min:6;  /*分*/       │
        │ unsigned ft_hour:5; /*时*/       │
        │ unsigned ft_day:5;  /*日*/       │
        │ unsigned ft_month:4;/*月*/       │
        │ unsigned ft_year:1; /*年-1980*/  │
        │}                                 │
        └─────────────────┘
long  lseek(int handle,long offset,int fromwhere) 本函数将文件号为handle的文件
        的指针移到fromwhere后的第offset个字节处.
         SEEK_SET 文件开关   SEEK_CUR 当前位置   SEEK_END 文件尾
long  tell(int handle) 本函数返回文件号为handle的文件指针,以字节表示
int   isatty(int handle)本函数用来取设备handle的类型
int   lock(int handle,long offset,long length)   对文件共享作封锁
int   unlock(int handle,long offset,long length) 打开对文件共享的封锁
int   close(int handle) 关闭handle所表示的文件处理,handle是从_creat、creat、
        creatnew、creattemp、dup、dup2、_open、open中的一个处调用获得的文件处理
        成功返回0否则返回-1,可用于UNIX系统
int  _close(int handle) 关闭handle所表示的文件处理,handle是从_creat、creat、
       creatnew、creattemp、dup、dup2、_open、open中的一个处调用获得的文件处理
       成功返回0否则返回-1,只能用于MSDOS系统

FILE *fopen(char *filename,char *type) 打开一个文件filename,打开方式为type,
        并返回这个文件指针,type可为以下字符串加上后缀
      ┌──┬────┬───────┬────────┐
      │type│读写性  │文本/2进制文件│建新/打开旧文件 │
      ├──┼────┼───────┼────────┤
      │r   │读      │文本          │打开旧的文件    │
      │w   │写      │文本          │建新文件        │
      │a   │添加    │文本          │有就打开无则建新│
      │r+  │读/写   │不限制        │打开            │
      │w+  │读/写   │不限制        │建新文件        │
      │a+  │读/添加 │不限制        │有就打开无则建新│
      └──┴────┴───────┴────────┘
      可加的后缀为t、b。加b表示文件以二进制形式进行操作,t没必要使用
      例: ┌──────────────────┐
          │#include<stdio.h>                   │
          │main()                              │
          │{                                   │
          │ 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)  从流stream中读一个字符,并返回这个字符
int   putc(int ch,FILE *stream)向流stream写入一个字符ch
int   getw(FILE *stream) 从流stream读入一个整数,错误返回EOF
int   putw(int w,FILE *stream)向流stream写入一个整数
int   ungetc(char c,FILE *stream) 把字符c退回给流stream,下一次读进的字符将是c
int   fgetc(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 size,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,Valist param) 以格式化形式从流stream中
       读入一个字符串,参数从Valist param中取得
int   fprintf(FILE *stream,char *format[,argument,…])  以格式化形式将一个字符
       串写给指定的流stream
int   vfprintf(FILE *stream,char *format,Valist param)  以格式化形式将一个字符
       串写给指定的流stream,参数从Valist param中取得
int   fseek(FILE *stream,long offset,int fromwhere) 函数把文件指针移到fromwhere
       所指位置的向后offset个字节处,fromwhere可以为以下值:
       SEEK_SET 文件开关   SEEK_CUR 当前位置   SEEK_END 文件尾
long  ftell(FILE *stream)  函数返回定位在stream中的当前文件指针位置,以字节表示
int   rewind(FILE *stream) 将当前文件指针stream移到文件开头
int   feof(FILE *stream) 检测流stream上的文件指针是否在结束位置
int   fileno(FILE *stream) 取流stream上的文件处理,并返回文件处理
int   ferror(FILE *stream) 检测流stream上是否有读写错误,如有错误就返回1
void  clearerr(FILE *stream) 清除流stream上的读写错误
void  setbuf(FILE *stream,char *buf) 给流stream指定一个缓冲区buf
void  setvbuf(FILE *stream,char *buf,int type,unsigned size)
       给流stream指定一个缓冲区buf,大小为size,类型为type,type的值见下表
      ┌───┬───────────────────────────────┐
      │type值│意义                                                          │
      ├───┼───────────────────────────────┤
      │_IOFBF│文件是完全缓冲区,当缓冲区是空时,下一个输入操作将企图填满整个缓│
      │      │冲区.在输出时,在把任何数据写到文件之前,将完全填充缓冲区.      │
      │_IOLBF│文件是行缓冲区.当缓冲区为空时,下一个输入操作将仍然企图填整个缓│
      │      │冲区.然而在输出时,每当新行符写到文件,缓冲区就被清洗掉.        │
      │_IONBF│文件是无缓冲的.buf和size参数是被忽略的.每个输入操作将直接从文 │
      │      │件读,每个输出操作将立即把数据写到文件中.                      │
      └───┴───────────────────────────────┘
int   fclose(FILE *stream) 关闭一个流,可以是文件或设备(例如LPT1)
int   fcloseall()          关闭所有除stdin或stdout外的流
int   fflush(FILE *stream) 关闭一个流,并对缓冲区作处理
        处理即对读的流,将流内内容读入缓冲区;
        对写的流,将缓冲区内内容写入流。成功返回0
int   fflushall()          关闭所有流,并对流各自的缓冲区作处理
        处理即对读的流,将流内内容读入缓冲区;
        对写的流,将缓冲区内内容写入流。成功返回0

int   access(char *filename,int amode) 本函数检查文件filename并返回文件的属性,
        函数将属性存于amode中,amode由以下位的组合构成
          06可以读、写       04可以读   02可以写   01执行(忽略的)   00文件存在
      如果filename是一个目录,函数将只确定目录是否存在
      函数执行成功返回0,否则返回-1
int   chmod(char *filename,int permiss) 本函数用于设定文件filename的属性
        permiss可以为以下值
           S_IWRITE允许写  S_IREAD允许读  S_IREAD|S_IWRITE允许读、写
int  _chmod(char *filename,int func[,int attrib]);
       本函数用于读取或设定文件filename的属性,
       当func=0时,函数返回文件的属性;当func=1时,函数设定文件的属性
       若为设定文件属性,attrib可以为下列常数之一
       FA_RDONLY只读  FA_HIDDEN隐藏  FA_SYSTEM系统

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值