备注学院

LuLu

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  5 随笔 :: 50 文章 :: 16 评论 :: 0 Trackbacks

转换子程序,函数库为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系统

posted on 2007-11-17 11:24 smildlzj 阅读(339) 评论(0)  编辑  收藏 所属分类: C&C++

只有注册用户登录后才能发表评论。


网站导航: