C++通过线程方式读取给出的二进制文件数据

任务描述:通过线程方式读取给出的二进制文件数据,二进制文件的所有数据均按定义的结构体进行固定长度存储,按照给定的结构体定义进行文件信息的载入与解析显示。


这里读取时就按照结构体的长度来读,每次从文件中读取sizeof(AIS_INFO)长度的数据,知道文件的末尾。还有当初查资料的时候,打开文件的Open函数的第二个参数,网上有的人加上了CFile::typeBinary,一开始我也按照网上的,加上这一句,但是每次读出来的数据都是乱码,去掉这一句显示就没问题了。

        CFileException e; 
	CStdioFile file;
	//打开文件
	if(file.Open(_T("bin/1.dat"),CFile::modeRead,&e))  
	{
		AIS_INFO* Ais_Info=new AIS_INFO();//定义结构体类型的指针变量		
		//读文件
		while(file.Read(Ais_Info,sizeof(AIS_INFO))>0)
		{
			OnShowAIS(Ais_Info);//调用函数显示读取的数据
		}
		file.Close();
		//释放请求的内存空间,防止内存泄漏
		delete Ais_Info;
		Ais_Info=NULL;
本人也正在学习MFC,若有什么表达的不对的地方请大神指教。在此把我练习中遇到的问题贴出来,希望对像我一样正在学习MFC的朋友有一点点



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值