码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2017-04-09 21:24:02      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:include   linux   start   null   

#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内核:地址映射机制来读取文件内容

标签:include   linux   start   null   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!