目前课题中使用,记录下来方便以后查看。
fopen
fopen函数用来打开一个文件,其调用的一般形式为:
FILE * fopen(const char *path,const char * mode);
fopen()函数中第一个形式参数表示文件名, 可以包含路径和文件名两部分。如:
"B:TEST.DAT"
"C://TC//TEST.DAT"
如果将路径写成"C:/TC/TEST.DAT"是不正确的, 这一点要特别注意。
第二个形式参数表示打开文件的类型。关于文件类型的规定参见下表。
表 文件操作类型
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
字符 含义
────────────────────────────
"r" 打开文字文件只读
"w" 创建文字文件只写
"a" 增补, 如果文件不存在则创建一个
"r+" 打开一个文字文件读/写
"w+" 创建一个文字文件读/写
"a+" 打开或创建一个文件增补
"b" 二进制文件(可以和上面每一项合用)
"t" 文这文件(默认项)
返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。
fseek
函数名: fseek
功 能: 重定位文件流上的文件指针位置
用 法: int fseek(FILE *stream, longoffset, int fromwhere);
stream:文件指针,必须为已打开的文件
offfset:设定的偏移量,正数表示正向偏移
fromwhere:偏移开始的位置。有三种取值
SEEK_SET: 文件开头
SEEK_CUR:当前位置
SEEK_END:文件结尾
描 述: 函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
返回值: 成功,返回0,否则返回其他值。
fread
函数原型:size_t fread(void*buff,size_t size,size_t count,FILE* stream)
作用:从文件中读入数据到指定的地址中
参数:第一个参数为接收数据的指针(buff),也即数据存储的地址
第二个参数为单个元素的大小,即由指针写入地址的数据大小,注意单位是字节,通俗理解为一次读取多大的字节
第三个参数为元素个数,一共要读取多少元素,即一共读取的字节数为size*count
第四个参数为提供数据的文件指针,该指针指向文件内部数据
返回值:读取的总数据元素个数
注意:文件指针是移动一个指针,读取一个字节,因此读取完要求字节数后,指针停留在最后一个字节处,直到下次读取或者fseek才会移动指针。
fwrite
size_t fwrite(const void* buffer,size_t size, size_t count, FILE* stream);
作用:向文件写入一个数据块
返回值:返回实际写入的数据块数目
(1)buffer:是一个指针,是准备要写入文件的数据地址
(2)size:要写入文件的一个数据项的字节个数;
(3)count:要进行写入size字节的数据项的个数,一共要写入size*count个字节;
(4)stream:目标文件指针;
(5)返回实际写入的数据项个数count。
fprintf
fprintf( ) 函数中格式化的规定与printf( ) 函数相同,所不同的只是 fprintf()函数是向文件中写入。而printf()是向屏幕输出。
fprintf() 函数的返回值为实际写入文件中的字节个数(字节数)。如果写错误, 则返回一个负数。
int fprintf(FILE *stream, char*format, <variable-list>);
例如 b= fprintf(fp,"%d",a);指像fp指向的文件里打印一个整数,值为a,b是4.
fputs、fputc
int fputs(char *string, FILE*steam);
int fputc(int ch, FILE*steam);
fputs()函数返回0时表明将string指针所指的字符串写入steam指向的文件中的操作成功, 返回非0时, 表明写操作失败。
fputc()函数返回一个向steam指向的文件中写字符ch的值, 返回0表示写操作成功, 否则返回EOF(文件结束结束其值为-1,
fgets、fgetc
char fgets(char *string, intn, FILE *steam);
int fgetc(FILE *steam);
fgets()函数从文件中读取至多n-1个字符(n用来指定字符数), 并把它们放入string指向的字符串中, 在读入之后自动向字符串未尾加一个空字符, 读成功返回string指针, 失败返回一个空指针。
fgetc()函数返回文件当前位置的一个字符, 读错误时返回EOF。