VS2013/MFC基于对话框编程:[19]保存txt文件

2025-10-02 09:56:55

1、设计对话框界面,一个用于保存数据的按钮,三个单选按钮用于选择数据类型,两个编辑框分别用来输入数据个数和保存的文件名。

VS2013/MFC基于对话框编程:[19]保存txt文件

2、修改控件的ID:

按钮:IDC_Save;

单选按钮:IDC_Rand;IDC_Fibonacci;IDC_Factorial;

编辑框:IDC_DataNum;IDC_txtName;

VS2013/MFC基于对话框编程:[19]保存txt文件

3、修改属性,添加变量:

第一个单选按钮的Group为true,添加变量int DataType;

输入数据个数的编辑框的Number属性为true,添加变量UINT m_DataNum;

输入文件名的编辑框:添加变量CString m_txtName;

VS2013/MFC基于对话框编程:[19]保存txt文件

4、修改构造函数中变量的初始值,将数据个数默认值改为100,将文件名修改默认值为"Data.txt".

VS2013/MFC基于对话框编程:[19]保存txt文件

5、编写保存函数,首先获取界面数据,然后判断数据类型,计算出对应的数据,通过CStdioFile类的对象将数据写入txt文件中,Open函数可以指定保存路径,默认保存在工程文件的Demo\Demo\文件夹下。

1、随机数

for (int i = 0; i < m_DataNum; i++)

Data[i] = rand()%10000;

2、斐波那契数列

Data[0] = 1; Data[1] = 1;

for (int i = 2; i < m_DataNum; i++)

Data[i] = Data[i - 1] + Data[i - 2];

3、阶乘

for (int i = 0; i < m_DataNum; i++)

{

Data[i] = 1;

for (int j = 1; j <= i+1; j++)

Data[i] *= j;

}

4、文件保存

CStdioFile file;

file.Open(m_txtName, CFile::modeCreate | CFile::modeWrite | CFile::typeText);

CString str;

for (int i = 0; i < m_DataNum; i++)

{

str.Format(_T("%d\t%g\n"), i + 1, Data[i]);

file.WriteString(str);

}

file.Close();

AfxMessageBox(_T("已保存数据到 ")+m_txtName+_T(" 文件中!"));

VS2013/MFC基于对话框编程:[19]保存txt文件

6、测试程序,启动调试,选择数据类型,设置数据个数和文件名称。

1、随机数测试,设置100个数

每次保存完都有提示。

VS2013/MFC基于对话框编程:[19]保存txt文件

VS2013/MFC基于对话框编程:[19]保存txt文件

VS2013/MFC基于对话框编程:[19]保存txt文件

7、2、fibonacci数列测试,设置20个数

VS2013/MFC基于对话框编程:[19]保存txt文件

VS2013/MFC基于对话框编程:[19]保存txt文件

8、3、阶乘测试,设置15个数,阶乘增长速度很快,所以没必要保存太多。

VS2013/MFC基于对话框编程:[19]保存txt文件

VS2013/MFC基于对话框编程:[19]保存txt文件

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢