首页 > 代码库 > linux内核:地址映射机制来读取文件内容
linux内核:地址映射机制来读取文件内容
#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内核:地址映射机制来读取文件内容
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。