把文本读到内存中

liuharris 2009-10-20 02:21:24
我有一个文本文件,里面是一些固定格式的数据,大概有几百行,文件不大,但是我要频繁去读取这个文件,我想把它读到内存中,在内存中对文本的数据进行提取。请问1、如何把数据读到内存 2、如何在内存中去读取数据
这个过程是不是叫 文件映射内存啊?
...全文
173 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
rebecca_zjy 2009-10-20
  • 打赏
  • 举报
回复
是配置文件之类的东西么?那读到结构体或者是单独的类里比较好,免得每次都要解析一遍
向立天 2009-10-20
  • 打赏
  • 举报
回复
把文件数据读到内存中进一步处理和内存映射文件操作方式是完全不同的两个概念
文件要是不超过100M没必要用内存映射操作
奔跑前行 2009-10-20
  • 打赏
  • 举报
回复
还是直接用文件流的方式CFile读取就ok了。。。
S_S_Ge 2009-10-20
  • 打赏
  • 举报
回复
学习了
liumenghappy 2009-10-20
  • 打赏
  • 举报
回复
1、可以用fopen打开文件,然后用fscanf每次读取一个字符串;
FILE *fp;

if((fp=fopen(path,"r"))==NULL)
{
AfxMessageBox("文件读取路径有误!");
return FALSE;
}

//读取文件头
for (i=0;i<9;i++)
{
fscanf(fp,"%s",buf);
}
fscanf(fp,"%s",buf1);
fscanf(fp,"%s",buf2);
m_NumberOfTargetAz=atoi(buf2);
m_strNumberOfTargetAz.Format("%s %s",buf1,buf2
2、也可以一次性读完
//打开辅图像 RMG图像为complex short型,数据的前一半为像素DN值得实部,后一半为像素DN值得虚部
CFile slavefile(m_sSlavePath,CFile::modeRead);
DWORD byteCount=slavefile.GetLength()/sizeof(short);
short* slaveBuf=new short[byteCount+1];//建立数据缓冲区(数组指针) 利用文件中的字节数除以short的长度,就可得到short数组的长度
m_progress.SetPos(5);
slaveBuf[slavefile.GetLength()/sizeof(short)]=0; //这个数组是一维的,它的长度应该等于图像的行数乘以列数
slavefile.Read(slaveBuf,slavefile.GetLength());//将文件一次性读取完,存到缓冲区里
slavefile.Close();
yuhudie203 2009-10-20
  • 打赏
  • 举报
回复
1首先分析文本里的格式 既然是固定格式 那么按照格式去就可以读取文本内容了
读取的内容为字符串形式,转换为对应的格式就OK 读取的话用CFile::Read()就可以

2.文件在内存中应该建一个指定格式的数组来存放(因为你有多条)一行数据有多组的话
可定义相应类型的结构体来数组来存放 将1中读取的字符串转换后放到结构体数组即可
forwin 2009-10-20
  • 打赏
  • 举报
回复
保存到字符串就可以了
还没淹死的鱼 2009-10-20
  • 打赏
  • 举报
回复
首先, 要定义文件的格式;
读取到内存用readfile;
从内存读取直接用指针就行.

如果不涉及到共享, 映射内存的意义不大.
danxuezx 2009-10-20
  • 打赏
  • 举报
回复
如果这个文件的内容固定不变那就直接定一个类似的结构体,一开始就把它度回来存在结构体中就好了。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧