CFileDialog file_dlg(TRUE);
file_dlg.m_ofn.lpstrTitle="读取数据对话框 write by wang";
file_dlg.m_ofn.lpstrFilter="Text File(*.dat)\0*.dat\0All File(*.*)\0*.*\0\0";
if(IDOK==file_dlg.DoModal())
{
CFile read_file(file_dlg.GetFileName(),CFile::modeRead);
unsigned int file_length=read_file.GetLength();
unsigned char *pbuf;
unsigned int i,j,u,TotalNum,Pos=0;
pbuf=new unsigned char[file_length];
read_file.Read(pbuf,file_length);
read_file.Close();
TotalNum=file_length/204;
unsigned int *TagTable=new unsigned int[TotalNum];
memset(TagTable,0,TotalNum);
for(i=0;i<file_length;i++)
{
if((pbuf[i]==0x46)&&(pbuf[i+1]==0x54)&&(pbuf[i+204]==0x24)&&(pbuf[i+205]==0x24))
{
TagTable[Pos++]=i;
}
}
CString PointSaveCurrent;
CString PointSave;
PointSave=_T("");
PointSaveCurrent=_T("");
float *vertex=new float[(Pos)*200];
float *angle=new float[Pos];
double pi=3.1415926;
unsigned int point=0;
for(i=0;i<Pos;i++)
{
j=TagTable[i];
PointSaveCurrent.Format("第%d帧:\r\n",i+1);
PointSave+=PointSaveCurrent;
for(u=0;u<100;u++)
{
point=pbuf[u*2+j+4]+pbuf[u*2+j+5]*256;
vertex[u*2+i*200]=point*sin((50.0-u)/180*pi);
vertex[u*2+1+i*200]=point*cos((50.0-u)/180*pi);
angle[i]=(pbuf[j+206]*256.0+pbuf[j+207])/100.0;
PointSaveCurrent.Format("x:%f y:%f 角度:%f\r\n",vertex[u*2+i*200],vertex[u*2+1+i*200],angle[i]);
PointSave+=PointSaveCurrent;
}
//memset(point,0,100);
}
CFile file("data.txt",CFile::modeCreate|CFile::modeWrite);
file.Write(PointSave,strlen(PointSave));
file.Flush();
file.Close();
delete[] vertex;
delete[] angle;
delete[] TagTable;
delete[] pbuf;
vertex=NULL;
angle=NULL;
TagTable=NULL;
pbuf=NULL;
}
程序运行CPU占用率过高,只是一个度读写得的程序,但是不明白为什么,代码如下
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 宝龙哥 2015-04-22 04:07关注
循环当中需要响应系统消息,这个不知道在你的开发工具中是否可以使用或有替代:Application->ProcessMessages(); // 在长时间循环中响应消息
解决 无用评论 打赏 举报
悬赏问题
- ¥15 delta降尺度计算的一些细节,有偿
- ¥15 Arduino红外遥控代码有问题
- ¥15 数值计算离散正交多项式
- ¥30 数值计算均差系数编程
- ¥15 redis-full-check比较 两个集群的数据出错
- ¥15 Matlab编程问题
- ¥15 训练的多模态特征融合模型准确度很低怎么办
- ¥15 kylin启动报错log4j类冲突
- ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
- ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序