⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readwrite.cpp

📁 像片外方位元素计算程序
💻 CPP
字号:
// ReadWrite.cpp: implementation of the CReadWrite class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Ygpc.h"
#include "mainfrm.h"
#include "ygpcdoc.h"
#include "ReadWrite.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CReadWrite::CReadWrite()
{

}

CReadWrite::~CReadWrite()
{

}

BOOL CReadWrite::Read()
{
   m_pInDataHead.ControlNum=(int)malloc(sizeof(int));
	CFileDialog m_Open(true,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
		"(*.txt)|*.txt",NULL);
	m_Open.DoModal();
    CYgpcDoc *pDoc=(CYgpcDoc*)((CMainFrame*)AfxGetApp()->m_pMainWnd)->GetActiveDocument();
	pDoc->m_docpath=m_Open.GetPathName();

    m_path=m_Open.GetPathName();
	CStdioFile file;
   char buff[256],strBuff[256];
   char head1buff[256];
    char head2buff[256];
	if(!file.Open(m_path,CFile::modeRead|CFile::typeText,NULL)){
	AfxGetApp()->m_pMainWnd->MessageBox("数据文件不存在或数据文件出错!","提示",
		MB_OK|MB_ICONWARNING);
	return FALSE;
	}
    file.ReadString(buff,128);
	sscanf(buff,"%s",strBuff);
	if(strcmpi(strBuff,"ControlNum"))
	{
	AfxGetApp()->m_pMainWnd->MessageBox("非本系统数据文件!","提示",
		MB_OK|MB_ICONWARNING);
	file.Close();
	return FALSE;
	}
    file.ReadString(buff,4);
	sscanf(buff,"%d",&m_pInDataHead.ControlNum);
CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd;
pMain->m_ControlNum=m_pInDataHead.ControlNum;
   // m_pInDataHead.ControlNum
//	M_InData m_b[m_pInDataHead.ControlNum];
 m_pInData=(struct m_InData *)malloc(sizeof(m_InData)*m_pInDataHead.ControlNum);
 file.ReadString(buff,128);
 sscanf(buff,"%lf",&m_pInDataHead.f);
  file.ReadString(head1buff,128);
  file.ReadString(buff,255);
  sscanf(buff,"%lf %lf %lf %lf %lf %lf",&m_pInDataHead.Xs,
	  &m_pInDataHead.Ys,&m_pInDataHead.Zs,&m_pInDataHead.q,
	  &m_pInDataHead.w,&m_pInDataHead.k);

file.ReadString(head2buff,128);
for(int i=0;i<m_pInDataHead.ControlNum;i++){

file.ReadString(buff,128);
sscanf(buff,"%lf %lf %lf %lf %lf",&m_pInData[i].x,
			&m_pInData[i].y,&m_pInData[i].Xp,&m_pInData[i].Yp,
			&m_pInData[i].Zp);
}
file.Close();
return (TRUE);
}

void CReadWrite::Read1()
{
CStdioFile file;
   char buff[256];
   char head1buff[256];
    char head2buff[256];
   CYgpcDoc *pDoc=(CYgpcDoc*)((CMainFrame*)AfxGetApp()->m_pMainWnd)->GetActiveDocument();

    file.Open(pDoc->m_docpath,CFile::modeRead|CFile::typeText,NULL);

    file.ReadString(buff,128);
	file.ReadString(buff,4);
	sscanf(buff,"%d",&m_pInDataHead.ControlNum);
  
	m_pInData=(struct m_InData *)malloc(sizeof(m_InData)*m_pInDataHead.ControlNum);
 file.ReadString(buff,128);
 sscanf(buff,"%lf",&m_pInDataHead.f);
  file.ReadString(head1buff,128);
  file.ReadString(buff,255);
  sscanf(buff,"%lf %lf %lf %lf %lf %lf",&m_pInDataHead.Xs,
	  &m_pInDataHead.Ys,&m_pInDataHead.Zs,&m_pInDataHead.q,
	  &m_pInDataHead.w,&m_pInDataHead.k);

file.ReadString(head2buff,128);
for(int i=0;i<m_pInDataHead.ControlNum;i++){

file.ReadString(buff,128);
sscanf(buff,"%lf %lf %lf %lf %lf",&m_pInData[i].x,
			&m_pInData[i].y,&m_pInData[i].Xp,&m_pInData[i].Yp,
			&m_pInData[i].Zp);
}
file.ReadString(buff,128);
file.ReadString(buff,128);
sscanf(buff,"%d",&dwdNum);
pDoc->dwdNumb=dwdNum;
m_pDmzb=(struct m_DMZB *)malloc(sizeof(m_DMZB)*dwdNum);
file.ReadString(buff,255);
file.ReadString(buff,255);
for(i=0;i<dwdNum;i++)
{file.ReadString(buff,128);
 sscanf(buff,"%lf %lf %lf",&m_pDmzb[i].Xp,&m_pDmzb[i].Yp,&m_pDmzb[i].Zp);
}
file.Close();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -