1、数组数据写入到文件
在程序运行过程中,往往需要将一些运算结果保存到文件,以便后面的数据分析和可视化处理。
输出结果如下图所示:
在MFC中数据的输出代码如下:
int k[num];//需要输出的数据
for (int i=0;i<num;i++) k[i]=某种处理;
CFile file_save("D:\\系数.txt",CFile::modeCreate|CFile::modeWrite);
CString string1,string2;
char buf[10]=" ";
file_save.Write("序号",8);
file_save.Write("系数",6);
file_save.Write("\r\n",sizeof("\r\n"));
for (int i=0;i<num;i++)
{
string1.Format("%f",K[i]);
string2.Format("%4d",i+1);
file_save.Write(string2,4);
file_save.Write(" ",4);
file_save.Write(string1,8);//sizeof(string)
int n=sizeof(string1);
file_save.Write("\r\n",sizeof("\r\n"));
}
file_save.Close();
2、注册表操作--读注册表和写注册表
写入注册表的值会保存到程序所在的电脑上,如果不人为去修改,该值将一直保持不变。
//写注册表
CString str = "100";
CWinApp *pApp=AfxGetApp();
pApp->WriteProfileString("Parameters","Radiu",str);
//读注册表
CString str;
CWinApp *pApp=AfxGetApp();
str=pApp->GetProfileString("Parameters","Radiu");
3、文件数量统计
给出文件夹路径,然后统计文件夹里面文件个数。
CFileFind find;
CString PrjPath=FileFolder;//文件路径
PrjPath+="*.*";
bool ret = find.FindFile(PrjPath);
int filesum=0;
while(ret)
{
ret = find.FindNextFile();
if(find.IsDots()||find.IsDirectory()) continue;
filesum++;
}
return filesum;//返回文件总数
4、获取文件根目录
给出文件夹路径,获取改文件夹的父目录
BOOL bResult = fileFind.FindFile(m_strPrjPath); //判断子目录是否存在
if (bResult)
{
fileFind.FindNextFile();
m_szDirPath = fileFind.GetRoot(); //父目录
fileFind.Close();
}