我是靠谱客的博主 苹果小丸子,最近开发中收集的这篇文章主要介绍MFC解析文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文件内容:

1.打开文件:

CFileDialog fileDlg(TRUE,NULL, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, "所有文件 (*.*)|*.*||", this);
	if(fileDlg.DoModal()==IDOK)
	{
		strFilePath = fileDlg.GetPathName();//获取文件的路径
		strFileName = fileDlg.GetFileName();//获取文件名
		GetDlgItem(IDC_FILE)->SetWindowText(strFilePath); //显示文件名

	}

2.获取"mac地址的类型",如文件内容为:

JDR-5004total_v0.9.17.bin : 1660

其中JDR-5004为mac地址的类型,把这些类型读取出来添加到下拉列表中:

CStdioFile file;
	if(!file.Open(strFilePath,CFile::modeRead))   
	{   
		return;   
	}   
	CString line;
	CString total="total_v0.9.17";
	int index=0;
	while(file.ReadString(line))
	{   
		index=line.Find(total);
		if(index>7)
		{
		  m_btsMacType.AddString(line.Left(index));
		}
	}
file.Close();

效果如图:

3.让mac地址的类型和mac地址一一对应,选择哪个类型的时候在编辑框里自动匹配相应的mac地址开始和结束段。

在下拉列表控件中加入如下代码:

CString sMacType;
	m_btsMacType.GetLBText(m_btsMacType.GetCurSel(),sMacType);	//获取
	CStdioFile file;
	if(!file.Open(strFilePath,CFile::modeRead))   
	{   
    	return;   
	}   
	CString line1,line2;
	int i=sMacType.GetLength();
	CString MacData;
	CString MacDataH;
	CString MacDataT;
	CString MacAS="for AS";
	CString MacDataAS;
	while(file.ReadString(line1))
	{   
	    //AfxMessageBox(line);
		if(strncmp((char *)(LPCTSTR)line1,(char *)(LPCTSTR)sMacType,i)==0)
		{
			file.ReadString(line1);//按类型读取MAC地址
			MacData=line1.Right(37);
			MacDataH=MacData.Left(17);
			MacDataT=MacData.Right(17);
			m_btsMacH.SetWindowText(MacDataH); 
			m_btsMacT.SetWindowText(MacDataT); 

			file.ReadString(line2);//读取for AS的MAC地址
			while(strncmp((char *)(LPCTSTR)line2,(char *)(LPCTSTR)MacAS,6)!=0)
			{
                file.ReadString(line2);
			}
			file.ReadString(line2);
			MacDataAS=line2.Right(37);
			m_btsMacAs.SetWindowText(MacDataAS);



			break;
		}
	
	}

	file.Close();

效果如图:

其中for AS是补充地址。

 

 

 

 

 

 

 

 

最后

以上就是苹果小丸子为你收集整理的MFC解析文件的全部内容,希望文章能够帮你解决MFC解析文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部