mmap的使用

本文详细介绍了mmap在Linux系统中的使用,包括如何通过mmap读取和写入文件,以及如何将int和unsigned int类型转换为字符串。通过分析mmap的工作原理和比较与普通文件读写的差异,揭示了mmap的优势和注意事项,并提供了相关源码参考。
摘要由CSDN通过智能技术生成
参考资料

mmap 函数:原理与使用(含代码)
mmap函数使用与实例详解
Linux系统编程:mmap使用技巧
mmap和普通文件读写的区别和比较 & mmap的注意点

认真分析mmap:是什么 为什么 怎么用
github源码

一、mmap读入文件
#include<iostream>
#include<sys/mman.h>
#include<sys/types.h>
#include<fcntl.h>
#include<unistd.h>
#include<string.h>

using namespace std;
void CreateFromFile(string& FileName)
	{
   //由数据文件FileName创建图

		

		//size_t i;

		//打开文件,fd为文件描述符
		int fd = open(FileName.c_str(), O_RDONLY);
		//cout << "fd   " << fd << endl;

		//文件长度
		int len = lseek(fd, 0, SEEK_END);
		//cout << "len   " << len << endl;

		//文件映射
		char* data = (char*)mmap(NULL, len, PROT_READ, MAP_PRIVATE, fd, 0);

		//关闭文件,若放在此处不行就放在文件末尾munmap函数之前
		close(fd);

		auto p_end = data;
		//unsigned int num_s[3];//用来存放数据

		vector_3 value;
		while (*p_end != '\0')
		{
   
			for (short int i = 0; i < 3; ++i)
			{
   
				value.value[i] = strtoul(p_end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值