一、响应控件或菜单的命令消息
ON_COMMAND(IDC_BTN_FILE_SAVE, OnFileSave) ;
二、声明消息映射函数
afx_msg void OnFileSave();
应用程序框架产生的消息映射函数
其中 afx_msg为消息标志,它向系统声明:有消息映射到函数实现体;
三、将数据写入文本文件
void 某类::OnFileSave()
{
BOOL isOpen=FALSE; //是否打开(否则为保存)
CString defaultDir = L"E:\\FileTest"; //默认打开的文件路径
CString fileName = L"test.doc"; //默认打开的文件名
CString filter = L"txt文本(*.txt)|*.txt||"; ; //文件过虑的类型
//保存文件对话框
CFileDialog openFileDlg(isOpen, defaultDir, fileName,
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, filter, NULL);
INT_PTR result = openFileDlg.DoModal();
CString filePath;
if(result == IDOK)
{
filePath = openFileDlg.GetPathName();
FILE *fp;
fp=fopen((CT2A)filePath,"w+");//CString转为String
//格式化写入文本文件
fprintf(fp,"#编号 类型 测量 x1 y1 z1 x2 y2 z2 x3 y3 z3\n");
数据处理略(见下面实例)…… fprintf(fp,"%d\tlength\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\n", codeno,distance,x1,y1,z1,x2,y2,z2,0.0f,0.0f,0.0f);
fprintf(fp,"\n");
fclose(fp); //写入文件完成后关闭文件
}
}