1.fopen
fopen() 会获取文件信息,包括文件名、文件状态、当前读写位置等,并将这些信息保存到一个 FILE 类型的结构体变量中,然后将该变量的地址返回。
eg.
FILE *src = NULL;
if((src = fopen(from,"r")) == NULL);
2.fseek
C 库函数 int fseek(FILE *stream, long int offset, int whence) 设置流 stream 的文件位置为给定的偏移 offset,参数 offset 意味着从给定的 whence 位置查找的字节数。
声明
下面是 fseek() 函数的声明。
int fseek(FILE *stream, long int offset, int whence)
参数
stream – 这是指向 FILE 对象的指针,该 FILE 对象标识了流。
offset – 这是相对 whence 的偏移量,以字节为单位。
whence – 这是表示开始添加偏移 offset 的位置。它一般指定为下列常量之一:
常量 描述
SEEK_SET 文件的开头
SEEK_CUR 文件指针的当前位置
SEEK_END 文件的末尾
eg.
fseek(src,0,SEEK_END);
3.ftell
C 库函数 long int ftell(FILE *stream) 返回给定流 stream 的当前文件位置。
#include <stdio.h>
int main ()
{
FILE *fp;
int len;
fp = fopen("file.txt", "r");
if( fp == NULL )
{
perror ("打开文件错误");
return(-1);
}
fseek(fp, 0, SEEK_END);
len = ftell(fp);
fclose(fp);
printf("file.txt 的总大小 = %d 字节\n", len);
return(0);
}
假设我们有一个文本文件 file.txt,它的内容如下:
This is runoob.com
让我们编译并运行上面的程序,如果文件内容如上所示,这将产生以下结果,否则会根据文件内容给出不同的结果:
file.txt 的总大小 = 19 字节
4.sync()
sync是C语言的一个库函数。调用sync可以将系统缓冲区(内存中)的数据写入到文件系统(磁盘)中。
头文件:#include<unistd.h>
函数定义:int sync(void);
返回值:当同步成功返回0,否则返回-1。
5.opendir
opendir()用来打开参数name 指定的目录, 并返回DIR*形态的目录流, 和open()类似,
6.ioctl
ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。