首页 > 系统服务 > 详细

linux内核:地址映射机制来读取文件内容

时间:2017-04-09 21:24:03      阅读:186      评论:0      收藏:0      [点我收藏+]
#include <stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<sys/mman.h>
#include <string.h>
int main()
{
int fd;
char *start;
char buf[100];
/*打开文件*/
fd = open("testfile",O_RDWR);
        
start=mmap(NULL,100,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);
//这个函数就是把一纸文件内容,映射到内存特定未位置的函数,null 为随机分配内存位置,
        //100为分配内存的大小,PORT_READ此映射内容为可读,fd文件返回地址,0为offset 就是从文件内容第一个数读起。
/* 读出数据 */
strcpy(buf,start);
printf("buf = %s\n",buf);
/* 写入数据 */
strcpy(start,"Buf Is Not Null!");
munmap(start,100); /*解除映射*/
close(fd);  
return 0;
}

linux内核:地址映射机制来读取文件内容

原文:http://godwithme.blog.51cto.com/12179442/1914349

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!