文件和目录操作

来源:互联网 发布:mac怎么解压缩zip 编辑:程序博客网 时间:2024/04/29 14:31

打开和关闭文件
fopen、freopen和fclose是ANSI标准库的一部分。原型:
#include <stdio.h>
FILE *fopen(const char *path, const char *mode);
FILE *freopen(const char *path, const char *mode, FILE *stream);
Int fclose(FILE *stream);
读写文件
函数fread和fwrite允许从文件流读出数据以及向文件流写入数据。原型:
#include <stdio.h>
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(void *ptr, size_t size, size_t nmemb, FILE *stream);
指针ptr指向的缓冲区保存fread从文件读入的数据或保存fwrite向文件写回的数据。通常由stream指定要操作的数据流。size和nmemb分别控制读入或写回的一条记录的大小和记录数。
获得文件状态
feof和ferror函数都返回流当前状态。clearerr清除在文件上已经设置的错误位。fileno返回与给定的文件流相关联的文件描述符。原型:
#include <stdio.h>
int feof(FILE *stream);
int ferror(FILE *stream);
void clearerr(FILE *stream);
int fileno(FILE *stream);
文件定位
#include <stdio.h>
int fseek(FILE *stream, long offset, int whence);
long ftell(FILE *stream);
int fgetpos(FILE *stream, fpos_t *pos);
int fsetpos(FILE *stream, fpos_t *pos);
void rewind(FILE *stream);
缓冲区控制

删除和改名
#include <stdio.h>
int remove(const char *pathname);
int rename(const char *oldpath, const char *newpath);
使用临时文件(不建议使用以下两个函数)
#include <stdio.h>
FILE *tmpfile(void);
char *tmpnam(char *s);

找到当前目录
#include <unistd.h>
char *getcwd(char *buf, size_t size);
函数getcwd把但前目录的绝对路径名复制到buf中,该缓冲有size个字节长。
改变目录
函数chdir或fchdir都能改变当前目录,原型:
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fd);
创建和删除目录
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
int mkdir(const char *pathname, mode_t mode);
int rmdir(const char *pathname);
获得目录列表

原创粉丝点击