当前位置: 技术问答>linux和unix
Unix 下C的编程,实现对文件的操作(使用文件映射)
来源: 互联网 发布时间:2014-11-26
本文导语: 我现在正在做一个程序,实现如下功能,如果你有经验,不妨给一点支持,先谢谢! 程序实现: 1、到指定目录下取得文件 2、建立文件映射(mmap) 3、读取文件的相关内容,直到本文件结束。 4、取消文件映射 5、继...
我现在正在做一个程序,实现如下功能,如果你有经验,不妨给一点支持,先谢谢!
程序实现:
1、到指定目录下取得文件
2、建立文件映射(mmap)
3、读取文件的相关内容,直到本文件结束。
4、取消文件映射
5、继续回到1、(可以使用事件触发)
===〉如何循环直到所有的文件都被读到(目录中的文件定时更新,以处理的自动做标记)
===〉取消文件映射的时机时什么?
程序实现:
1、到指定目录下取得文件
2、建立文件映射(mmap)
3、读取文件的相关内容,直到本文件结束。
4、取消文件映射
5、继续回到1、(可以使用事件触发)
===〉如何循环直到所有的文件都被读到(目录中的文件定时更新,以处理的自动做标记)
===〉取消文件映射的时机时什么?
|
//This is really for using in advance:
#include
#include
#include
#include
#include
#include
#include
#define NRECORDS 100
typedef struct
{
char filename[80];
int calling_area_code;
int calling_nbr;
int meter_nbr;
char meter_reading[80];
}JiCi;
int main(void)
{
FILE *fp;
int i,f,k;
JiCi jici, *mapped,jjcc;
struct stat statbuf;
char sss[80]="";
strcpy(sss,"jicihuadan.dat");
f=open((char *)sss,O_RDWR);
//取得要使用文件的大小:
if(fstat(f,&statbuf)
#include
#include
#include
#include
#include
#include
#include
#define NRECORDS 100
typedef struct
{
char filename[80];
int calling_area_code;
int calling_nbr;
int meter_nbr;
char meter_reading[80];
}JiCi;
int main(void)
{
FILE *fp;
int i,f,k;
JiCi jici, *mapped,jjcc;
struct stat statbuf;
char sss[80]="";
strcpy(sss,"jicihuadan.dat");
f=open((char *)sss,O_RDWR);
//取得要使用文件的大小:
if(fstat(f,&statbuf)