伊利低乳糖
2016-03-08 06:20mfc 读取大数据 (txt文件)显示
3文件格式是这样的:
dfd,afa,afa,234,r3r,d2ed,2d,3d2,d2d,2de,
dfa,fdsf,sa,dfdsf,sds,ddf,sdf,dsd,dfd,dfd,
......
数据间用,隔开
//list control 的初始化
CListCtrl* pmyListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST1);
DWORD dwStyle = GetWindowLong(pmyListCtrl->m_hWnd, GWL_STYLE);
SetWindowLong( pmyListCtrl->m_hWnd, GWL_STYLE, dwStyle | LVS_REPORT);
DWORD styles = pmyListCtrl->GetExtendedStyle();
pmyListCtrl->SetExtendedStyle(styles|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
TCHAR rgtsz[10][20] = {_T("port"),_T("mm:ss.ms_us_ns"),_T("Delta Time"),_T("Icon"),_T("SOF"),_T("数量"),_T("Bytes"),_T(""),_T("CRC"),_T("")}
LV_COLUMN lvcolumn;
CRect rect;
pmyListCtrl->GetWindowRect(&rect);
for (int i=0;i
{
lvcolumn.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT
| LVCF_WIDTH | LVCF_ORDER;
lvcolumn.fmt = LVCFMT_LEFT;
lvcolumn.pszText = rgtsz[i];
lvcolumn.iSubItem = i;
lvcolumn.iOrder = i;
lvcolumn.cx = rect.Width()/10;
pmyListCtrl->InsertColumn(i, &lvcolumn);
}
我现在是用CStdioFile实现按行读,file.Open((resultFileName),CFile::modeRead);打开要读取的文件,resultFileName是存放路径的字符串,然后用
pos=s.Find(L",");
s1=s.Left(pos);
s=s.Right(s.GetLength()-pos-1);
pos=s.Find(L",");
s2=s.Left(pos);
s=s.Right(s.GetLength()-pos-1);
......
m_list.InsertItem(n,s1);
m_list.SetItemText(n,1,s2);
......
这样的方式来插入数据,显示到list control里面
测试文件只有几百行的话读得很快,现在用5000行来测已经有2s左右的延迟了,那要是几百万,上千万行数据要怎么读取,虚拟列表或者内存映射要怎么弄,新学的mfc,很多东西都不太了解,希望能讲的详细点,谢谢!
- 点赞
- 回答
- 收藏
- 复制链接分享
3条回答
为你推荐
- vs2010 MFC 求处理txt文本文件的后1000个字符的代码。
- c++
- 3个回答
- MFC 图像/数据是怎么显示的
- mfc
- 内存
- 显示
- 1个回答
- MFC怎样打开多个文件,并且可以自由切换
- mfc
- class
- 7个回答
- MFC中用opencv图像显示
- mfc
- opencv
- 图片
- 3个回答
- MFC逐行读取txt文件问题,为什么读取的数据都是0,代码如下,望大家解答
- 1个回答