不知道原创是谁,转载自:https://blog.csdn.net/laozhuxinlu/article/details/51878947
C ++常用库函数
如图1所示,常用数学函数
头文件#include
函数原型 |
功能 |
返回值 |
int abs(int x) |
求整数X的绝对值 |
绝对值 |
双acos(双x) |
计算阿科斯(X)的值 |
计算结果 |
双asin(双x) |
计算阿尔辛(X)的值 |
计算结果 |
双atan(双x) |
计算反正切(X)的值 |
计算结果 |
双cos(双x) |
计算COS(X)的值 |
计算结果 |
双cosh(双x) |
计算X的双曲余弦COSH(X)的值 |
计算结果 |
double exp(双x) |
求的值 |
计算结果 |
双晶圆厂(双x) |
求实数X的绝对值 |
绝对值 |
双fmod(双x) |
求的x / y的余数 |
余数的双精度数 |
长实验室(长x) |
求长整型数的绝对值 |
绝对值 |
双日志(双x) |
计算(X)中的值 |
计算结果 |
双log10(双x) |
计算的值 |
计算结果 |
double modf(double x,double * y) |
取X的整数部分送到Ÿ所指向的单元格中 |
X的小树部分 |
双动力(双x,双y) |
求的值 |
计算结果 |
双罪(双x) |
计算的sin(x)的值 |
计算结果 |
双sqrt(双x) |
求的值 |
计算结果 |
双棕褐色(双x) |
计算黄褐色(X)的值 |
计算结果 |
fcvt |
将浮点型数转化为字符串 |
|
2,常用字符串处理函数
头文件#include
函数原型 |
功能 |
返回值 |
void * memcpy(void * p1,const void * p2 size_t n) |
存储器拷贝,将P2所指向的共ñ个字节拷贝到P1所指向的存储区中 |
目的存储区的起始地址 (实现任意数据类型之间的拷贝) |
void * memset(void * p int v,size_t n) |
将v的值作为p所指向的区域的 值中,n是p所指向区域的大小 |
该区域的起始地址 |
char * strcpy(char * p1,const char * p2) |
将P2所指向的字符串拷贝到 P1所指向的存储区中 |
目的存储区的起始地址 |
char * strcat(char * p1,const char * p2) |
将P2所指向的字符串连接到 P1所指向的字符串后面 |
目的存储区的起始地址 |
int strcmp(const char * p1,const char * p2) |
比较P1,P2所指向的两个 字符串的大小 |
两个字符串相同,返回0;若P1所指向的字符串小于P2所指的字符串,返回负值;否则,返回正值 |
int strlen(const char * p) |
求p所指向的字符串的长度 |
字符串所包含的字符个数 (不包括字符串结束标志'\ n') |
char * strncpy(char * p1,const char * p2,size_t n) |
将P2所指向的字符串(至多Ñ个字符)拷贝到P1所指向的存储区中 |
目的存储区的起始地址 (与的strcpy()类似) |
char * strncat(char * p1,const char * p2,size_t n) |
将P2所指向的字符串(至多Ñ个字符)连接到P1所指向的字符串的后面 |
目的存储区的起始地址 (与的strcpy()类似) |
char * strncmp(const char * p1,const char * p2,size_t n) |
比较P1,P2所指向的两个字符串的大小,至多比较Ñ个字符 |
两个字符串相同,返回0;若P1所指向的字符串小于P2所指的字符串,返回负值;否则,返回正值 (与的strcpy()类似) |
char * strstr(const char * p1,const char * p2) |
判断P2所指向的字符串是否是P1所指向的字符串的子串 |
若是子串,返回开始位置的地址;否则返回0。 |
|
|
|
3,其他常用函数
头文件#include
函数原型 |
功能 |
返回值 |
说明 |
void abort(void) |
终止程序执行 |
|
不能结束工作 |
void exit(int) |
终止程序执行 |
|
做结束工作 |
double atof(const char * s) |
将小号所指向的字符串转换成实数 |
实数值 |
|
int atoi(const char * s) |
将小号所指向的字符串转换成整数 |
整数值 |
|
long atol(const char * s) |
将小号所指的字符串转换成长整数 |
长整数值 |
|
int rand(void) |
产生一个随机整数 |
随机整数 |
|
void srand(unsigned int) |
初始化随机数产生器 |
|
|
int system(const char * s) |
将小号所指向的字符串作为一个可执行文件,并加以执行 |
|
|
最大值(a,b) |
求两个数中的大数 |
大数 |
参数为任意类型 |
分(A,B) |
求两个数中的小数 |
小数 |
参数为任意类型 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4,实现键盘和文件输入/输出的成员函数
头文件#include
函数原型 |
功能 |
返回值 |
cin >> v |
输入值送给变量 |
|
cout << exp |
输出表达式EXP的值 |
|
istream&istream :: get(char&c) |
输入字符送给变量Ç |
|
istream&istream :: get(char *,int,char ='\ n') |
输入一行字符串 |
|
istream&istream :: getline(char *,int,char ='\ n') |
输入一行字符串 |
|
void ifstream :: open(const char *,int = ios :: in, int = filebuf :: openprot) |
打开输入文件 |
|
void ofstream :: open(const char *,int = ios :: out, int = filebuf :: openprot) |
打开输出文件 |
|
void fsream :: open(const char *,int, int = filebuf :: openprot) |
打开输入/输出文件 |
|
ifstream :: ifstream(const char *,int = ios :: in, int = filebuf :: openprot) |
构造函数打开输入文件 |
|
ofstream :: ofstream(const char *,int = ios :: out, int = filebuf :: openprot) |
构造函数打开输出函数 |
|
fstream :: fstream(const char *,int, int = filebuf :: openprot) |
构造函数打开输入/输出文件 |
|
void istream :: close() |
关闭输入文件 |
|
void ofsream :: close() |
关闭输出文件 |
|
void fsream :: close() |
关闭输入/输出文件 |
|
istream&istream :: read(char *,int) |
从文件中读取数据 |
|
ostream&istream :: write(const char *,int) |
将数据写入文件中 |
|
int ios :: eof() |
判断是否到达打开文件的尾部 |
1为到达2为没有 |
istream&istream :: seekg(streampos) |
移动输入文件的指针 |
|
istream&istream :: seekg(streamoff,ios :: seek_dir) |
移动输入文件的指针 |
|
streampos istream :: tellg() |
取输入文件的指针 |
|
ostream&ostream :: seekp(streampos) |
移动输出文件的指针 |
|
ostream&ostream :: seekp(streamoff,ios :: seek_dir) |
移动输出文件的指针 |
|
streampos ostream :: tellp() |
取输出文件的指针 |
|
C ++的头文件!
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
字符分类 标准C ++(同上的不再注释)
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
# include
#include
#include
#include
#include
#include < list> // STL线性列表容器
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
数组容器 #include
#include
using namespace std;
C99增加
#include //复数处理
#include //浮点环境
#include //整数格式转换
#include //布尔环境
#include //整型环境
#include //通用类型数学宏数学函数,所在函数库为math.h,stdlib.h,string.h,float.h
int abs(int i)返回整型参数i的绝对值
double cabs(struct complex znum)返回复数znum的绝对值
double fabs(double x)返回双精度参数X的绝对值
long labs(long n)返回长整型参数n的绝对值
double exp(double x)返回指数函数ex的值
double frexp(double value,int * eptr)返回值= x * 2n中x的值,n存贮在eptr中
双ldexp(double value,int exp); 返回值* 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(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为弧度
double cos(double x)返回x的余弦cos(x)值,x为弧度
double sin(double x)返回x的正弦sin(x)值,x为弧度
double tan(double x)返回X的正切黄褐色(x)的值,X为弧度
double cosh(double x)返回x的双曲余弦cosh(x)值,x为弧度
double sinh(double x)返回x的双曲正弦sinh(x)值,x为弧度
double tanh(double x)返回x的双曲正切tanh(x)值,x为弧度
double hypot (double x,double y)返回直角三角形斜边的长度(z),
x和y为直角边的长度,z2 = x2 + y2
double ceil( double x)返回不小于x的最小整数
double floor(double x)返回不大于x的最大整数
void srand(unsigned seed)初始化随机数发生器
int rand()产生一个随机数并返回这个数
double double(double x,int n,double c [])从参数产生一个多项式
double modf(double value,double * iptr)将双精度数值分解成尾数和阶段
双fmod(double x,double y)返回x / y的余数
double frexp(double value,int * eptr)将双精度数值分成尾数和阶段
双重atof(char * nptr)将字符串nptr转换成浮点数并返回这个浮点数
double atoi(char * nptr)将字符串nptr
并返回这个整数
char * ecvt(double value,int ndigit,int * decpt,int * sign)
将浮点数值转换成字符串并返回该字符串
char * fcvt(double value,int ndigit,int * decpt,int * sign)
将浮点数值转换成字符串并返回该字符串
char * gcvt(double value,int ndigit,char * buf)
将数值转换成字符串并存于buf中,并返回buf的指针
char * ultoa(unsigned long value ,char * string,int radix)
将无符号整型数值转换成字符串并返回该字符串,radix为转换时所用基数
char * ltoa(long value,char * string,int radix)
将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数
char * itoa(int value,char * string,int radix)
将整数值转换成字符串存入字符串,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 matherr(struct exception * e)
用户修改数学错误返回信息函数(没有必要使用)
double _matherr(_mexcep why,char * fun,double * arg1p,
double * arg2p,double retval)
用户修改数学错误返回信息函数(没有必要使用)
unsigned int _clear87()清除浮点状态字并返回原来的浮点状态
void _fpreset()重新初使化浮点数学程序包
unsigned int _status87()返回浮点状态字目录函数,所在函数库为dir.h,DOS.H
INT CHDIR(字符*路径)使指定的目录路径(如: “C:\\ WPS”)变成当前的工作目录,分类中翻译
功报道查看0
INT的FindFirst (char * pathname,struct ffblk * ffblk,int
attrib)查找指定的文件,成功
返回0
pathname为指定的目录名和文件名,如“C:\\ WPS \\ TXT”
ffblk为指定的保存文件信息的一个结构,定义如下:
┏━━━━━ ━━━━━━━━━━━━━┓
┃structffblk┃
┃{┃
┃炭ff_reserved [21]; / * DOS保留字* /
┃┃char ff_attrib; / *文件属性* /
┃┃intff_ftime; / *文件时间* /
┃┃intff_fdate; / *文件日期* /
┃┃longff_fsize; / *文件长度* /
┃┃char ff_name [13]; / *文件名* /┃┃
}┃┃━━━━━━━━━━━━━━━━━━━━━at
属于
文件属性,由以下字符代表
┏━━━━━━━━━━━ ━━━━━━━━┓
┃FA_RDONLY只读文件┃FA_LABEL卷标号┃
┃FA_HIDDEN隐藏文件┃FA_DIREC目录┃
┃FA_SYSTEM系统文件┃FA_ARCH┃档案
┗━━━━━━━━━┻━━━━ ━━━━┛
例:
struct ffblk ff;
使用FindFirst( “* WPS。”,&FF,FA_RDONLY);
int findnext(struct ffblk * ffblk)取匹配finddirst的文件,成功返回0
void fumerge(char * path,char * drive,char * dir,char * name,char * ext)
此函数通过盘符驱动器(C:,答:等),路径DIR(\ TC,\ BC \ LIB等),
文件名的名称(TC,WPS等),扩展名EXT(.EXE,.COM等)一个组成文件名
存与路径中。
int fnsplit(char * path,char * drive,char * dir,char * name,char * ext)
此函数将文件名路径分解成盘符drive(C:,A:等),路径dir(\ TC,\ BC \ LIB等),
文件名的域名(TC,WPS等),扩展名EXT(.EXE,.COM等),并分别存入相应的变量中。
int getcurdir(int drive,char * direc)此函数返回指定驱动器的当前工作目录名称
drive指定的驱动器(0 =当前,1 = A,2 = B,3 = C等)
direc保存指定驱动器当前工作路径的变量成功返回0
的char * GETCWD(字符* buf中,IINT n)的此函数取当前工作目录并存入BUF中,直到ñ个字
节长为为止。错误返回NULL
INT获得盘()取当前正在使用的驱动器,返回一个整数(0 = A,1 = B,2 = C等)
int setdisk(int drive)设置要使用的驱动器drive(0 = A,1 = B,2 = C等),
返回可使用驱动器总数
int mkdir(char * pathname)建立一个新的目录pathname,成功返回0
int rmdir(char * pathname)删除一个目录pathname,成功返回0
char * mktemp(char * template)构造一个当前目录上没有的文件名并存于模板中
char * searchpath(char * pathname)利用MSDOS找出文件filename所在路径
,,此函数使用DOS的PATH变量,未找到文件返回NULL进程函数,所在函数库为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时,函数中时传递的参数个数不固定。
时间,函数传递指定参数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函数族在模式下运行子程序pathname,并将参数
arg0(arg1,arg2,argv [],envp [])传递给子程序。出错返回-1
模式为运行模式
模式为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命令命令传递给DOS执行转换子程序,函数库为math.h,stdlib.h,ctype.h,float.h
char * ecvt(double value,int ndigit,int * decpt ,int * sign)
将浮点数值转换成字符串并返回该字符串
char * fcvt(double value,int ndigit,int * decpt,int * sign)
将浮点数值转换成字符串并返回该字符串
char * gcvt(double value,int ndigit,char * buf)
将数值转换成字符串并存于buf中,并返回buf的指针
char * ultoa(unsigned long value,char * string,int radix)
将无符号整型数值转换成字符串并返回该字符串,radix为转换时所用基数
char * ltoa(long value,char * string,int radix)
将长整型数值转换成字符串并返回该字符串,radix为转换时所用基数
char * itoa(int value,char * string,int 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' 母( 'A'-'
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,...])通过字符串字符串,分别对各个
参数进行赋值
int vsscanf(char * string,char * format,Vlist param)通过字符 串给控制台(显示器),直接对控制台作操作,比如显示器即为直接写频方式显示
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│
除把把当作设备号(0 =当前,1 = A,等)之外,均和cmd = 2时一样│
│5│除把把当作设备号(0 =当前,1 = A,等)之外,均和cmd = 3时一样││6│
取输入状态││7│
取输出状态││8│
测试可换性;只对于
DOS3.x││11│置分享冲突的重算计数;只对DOS3.x│└
---┴---------------- ------------
┘int(* ssignal(int sig,int(* action)())()执行软件信号(没必要使用)
int gsignal(int sig)执行软件信号(没有必须使用)
int _open(char * pathname,int 访问)为读或写打开一个文件,
按后按访问来确定是读文件还是写文件,访问见下表值
┌------┬-------------- ------
┐│访问值│意义│
├------┼--------------------
┤│O_RDONLY│读文件
││O_WRONLY│写文件
││O_RDWR│即读也写
││ O_NOINHERIT│若文件没有传递给子程序,则被包含│
│O_DENYALL│只允许当前处理必须存取的文件│
│O_DENYWRITE│只允许从任何其它打开的文件读│
│O_DENYREAD│只允许从任何其它打开的文件写
││O_DENYNONE│允许其它共享打开的文件│└
------┴--------------------┘intopen
(char * pathname,int access [,int permiss])为读或写打开一个文件,
按后按访问来确定是读文件还是写文件,访问值见下表
┌----┬----------- ---------
┐│访问值│意义│├
----┼--------------------
┤│O_RDONLY│读文件
││ 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)建立一个新文件的文件名,设定并
读写性.permiss为文件读写性,可以为以下值
S_IWRITE允许写S_IREAD允许读S_IREAD | S_IWRITE允许读,写
INT _creat(字符*文件名,INT ATTRIB )建立一个新文件的文件名,并文件设定
属性.attrib为文件属性,可以为以下值
FA_RDONLY只读FA_HIDDEN隐藏FA_SYSTEM系统
INT creatnew(字符* filenamt,INT ATTRIB)建立一个新文件的文件名,并文件设定
属性.attrib为文件属性,可以为以下值
FA_RDONLY只读FA_HIDDEN隐藏FA_SYSTEM系统
int creattemp(char * filenamt,int attrib)建 立一个新文件的文件名,设定并文件
属性.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)从文件号为处理的文件中读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)本函数用来设定文件号为处理文件的打的
开方式
INT getftime(INT手柄,结构FTIME * FTIME)读取文件号为处理的文件的时间,
并将文件时间存于FTIME结构中,成功返回0,ftime结构如下:
┌-----------------
┐tructstructftime││
{
││unsigned ft_tsec:5; / *秒* /
││unsigned ft_min:6; / *分* /
││unsigned ft_hour:5; / *时* /
││未签名ft_day:5; / *日* /
││unsigned ft_month:4; / *月* /
││unsigned ft_year:1; / *年-1980 * /││
} │└
-----------------
┘int setftime(int handle,struct ftime * ftime)重写文件号为handle的文件时间,
新时间在结构FTIME中成功返回0结构FTIME如下:
┌-----------------
┐sstructftime││
{
││unsigned ft_tsec:5; / *秒* /
││unsigned ft_min:6; / *分* /
││unsigned ft_hour:5; / *时* /
││未签名ft_day:5; / *日* /
││unsigned ft_month:4; / *月* /
││unsigned ft_year:1; / *年-1980 * /││
} │└
-----------------┘long
lseek(int handle,long offset,int fromwhere)本函数将文件号为handle的文件
的指针移到fromwhere后的第偏移个字节处。
SEEK_SET文件开关SEEK_CUR当前位置SEEK_END文件尾
long tell(int handle)本函数返回文件号为handle的文件指针,以字节表示
int isatty(int handle)本函数用来取设备handle的类型
int lock(int handle ,长偏移,长长度)对文件共享作封锁
int unlock(int handle,long offset,long length)打开对文件共享的封锁
int close(int handle)关闭handle所表示的文件处理,handle是从_ _________,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│添加│文本│有就 ----┴--------┘
可加的后缀为T,B加b表示文件以二进制形式进行操作,叔没必要使用。
例:┌------------------┐
│#包括│
│ 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)从流中中读一个字符,并返回这个字符
int putc(int ch,FILE * stream)向流stream写入一个
字符ch int getw(FILE * stream)从流读入一个整数,错误返回EOF
int putw(int w,FILE * stream)向流stream写入一个整数
int ungetc(char c,FILE * stream)把字符c退回给流,下一次读进的字符将是c
int fgetc(FILE * stream)从流流处读一个字符,并返回这个字符
int fputc(int ch,FILE * stream)将字符ch写入流中
char * fgets(char * string,int n,FILE * stream)从流中中读n个字符存入string中
int fputs(char * string,FILE * stream)将字符串string写入流stream中
int fread( void * ptr,int size,int nitems,FILE * stream)从流中中入入nitems
个长度为size的字符串存入ptr中
int fwrite(void * ptr,int size,int nitems,FILE * 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,...])格式化以将形式一个字符
串写给指定的流流
INT vfprintf(FILE *流,字符*格式,Valist PARAM)格式化以将形式一个字符
串写给指定的流的流,参数从Valist PARAM中取得
int fseek(FILE * stream,long offset,int fromwhere)函数把文件指针移到fromwhere
所指位置的向后偏移个字节处,从哪里可以为以下值:
SEEK_SET文件开关SEEK_CUR当前位置SEEK_END文件尾
long ftell( FILE * stream)函数返回定位在流中的当前文件指针位置,以字节表示
int rewind(FILE * stream)将当前文件指针流移到文件开头
int feof(FILE * stream)检测流stream上的文件指针是否在结束位置
int fileno(FILE * stream)取流stream上的文件处理,并返回文件处理
int ferror(FILE * stream)检测流stream上是否有读写错误,如有错误就返回1
void clearerr(FILE * stream)清除流流上的读写错误
void setbuf(FILE * stream,char * buf)给流流指定一个缓冲区buf
void setvbuf(FILE * stream,char * buf,int type,unsigned size)
给流指定一个缓冲区buf中,大小为大小,类型为类型