没有合适的资源?快使用搜索试试~ 我知道了~
常用的API参考
需积分: 9 1 下载量 172 浏览量
2011-11-05
08:59:22
上传
评论
收藏 151KB DOC 举报
温馨提示
试读
7页
此API参考,是本人在日常工作中总结出来的参考了几个国内和国外的方案,使用的API几乎就这么多
资源推荐
资源详情
资源评论
20110407
==============
常用的
API
函数
===================
一)文件操作类 (▲返回值要用, ▲▲返回值可用可不用, 没有标识的为返回值不需要)
▲File *fopen(char *path,char *mode)//path:有缓冲的文件路径及文件名。失败返回 NULL,成功返回文件指针 fp
▲Mode: w+b:打开可读写的二进制文件.b:二进制文件,不加 b 是文本文件,对 linux 来说都一样,不区分扩展名。
▲Int open(char *pathname,int flags,mode_t mode)// pathname 不带缓冲的文件路径及文件名。
▲Int open(char *pathname,int flags)//返回文件描述符 fd ,失败返回-1,(大文件用 fopen 效率高,小文件用 open 效率高)
▲FILE *Popen(char *command,char *type) //建立管道 I/O,返回 fp;例如 FILE*fp=popen(“cat /etc/password”,”r”);
▲FILE *fdopen(int fd,char *mode);//把文件描述符转为文件指针.
▲▲Size_t fwrite(void *ptr,size_t size,size_t nmemb,FILE *stream)//ptr->stream。返回 nmemb 数
▲▲Size_t write(int fd,void *buf,size_t count)//把参数 buf 所指内存写入 count 个字节到参数 fd 所指的文件内。
成功返回实际写入的字节数,失败返回-1。(Fwrite 是先把数据写到 buf,再写到设备上。Write 是把数据直接写到设备上)
int fclose(FILE * stream)//成功返回 0,错误 EOF,会把缓冲区的数据写入到文件并释放系统提供的文件资源
Int close(int fd)//会让数据写回磁盘,并释放该文件所占用的资源,成功返回 0,失败返回-1
Int fflush(FILE *stream)//强迫把缓冲区的数据写入到 stream 指定的文件中,成功返回 0.针对 fopen 打开的文件
Int Fsync(fd):强制把高速缓冲块中的相应数据写入磁盘,针对 open 打开的文件, “详细见 13)其它”
▲Size_t fread(void *ptr,xize_t size,size_t nmemb,FILE *stream)//stream->ptr 返回读取的 nmemb 数
▲Ssize_t read(int fd,void *buf,size_t count)//把参数 fd 所指的文件写入 count 个字节到参数 buf 所指内存。
返回值
: -1::读取错误。0:cont=0。若>0&<cont:到文件尾或从管道或从终端读取,否则和
cont
一定相等 。
Void rewind(FILE *stream)//把文件流的读写位置移至文件开头,相当于 fseek(stream,0,SEEK_SET)
▲▲Lont ftell(FILE *stream)//返回当前文件指针位置(即文件大小,以字节为单位),常和 fseek 一起使用,失败返回-1
▲▲int fseek(FILE *stream,off_t offset,int whence)//设置文件指针的位置。成功返回 0,失败返回-1
▲▲Off_t lseek(int fd,off_t offset,int whence)对普通文件,成功返回目前的读写位置(以字节为单位), 失败返回-1
whence:当前位置的基点 SEEK_SET:从距文件开头 offset 位移量的位置 SEEK_CUR:从当前文件指针往后再增加 offset
位移量的位置。SEEK_END:从文件结尾再增加 offset 位移量的位置的位置
欲将读写位置移到文件某一位置时:lseek(int ldes,pos,SEEK_SET); //pos=0 时为开头
欲将读写位置移到文件尾时: lseek(int ldes, 0,SEEK_END);
想要取得目前文件位置时: lseek(int ldes, 0,SEEK_CUR);
Open()若打开错误则不用 close()
▲Int fileno(FILE *stream)//返回文件流所使用的描述符,
▲Int select(int fds,fd_set *rfds,fd_set *wfds,fd_set,exceptfds,struct timeval *timeout)
▲int fgetc(FILE *stream)//从文件中读取一个字符,返回读取到的字符,EOF 代表文件尾
▲int getc(FILE *stream)是宏定义,非真正的函数调用,虽然功能和上一样)
以行为单位读写数据,当输入的内容遇到''换行符的时候,则将流中''之前的内容送到缓冲区中的 I/O 方式
int fputs(const char *s,FILE *stream)//将一个字符串写入到文件流中,成功返回写入的字符数,错误返回 EOF
▲char * fgets(char *s,int size,FILE *stream)//从 stream 读取一个字符串到 s 中,成功返回 s 指针,失败返回 NULL
fgets 函数会将''换行符也读入到缓冲区中,gets 函数并不将''读入到缓冲区中;fputs 函数和 puts 函数都不输出字
符串的结束符' '; gets 函数确实是一个非常不安全的函数(遇到换行或读到 size-1 个字符就结束,返回 s 指针,若到文件尾则返回
NULL)
char fputc(int c,FILE *stream)//将一个指定字符写入到文件流中,返回写入成功的字符
// 目录操作
▲Int mkdir(char *path,int mode)建立目录,指定权限,成功返回 1,失败返回 0
Int closedir(DIR *dir)关闭 dir 指定的目录流,成功返回 0,失败返回-1.
▲DIR *dir opendir(const char *name)打开 name 指定的目录,返回 DIR 形态的目录流,失败返回 NULL
▲Struct direct * readdir(DIR *dir)//读取目录,成功返回下一个目录节点,失败返回 NULL
Off_t telldir(DIR *dir)//取得目录流的读取位置,返回下一个读取位置.
void seekdir(dir * dir,off_t offset); //设置目录位置
资源评论
laocao2
- 粉丝: 1
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功