1、读取
#include <fstream>
#include <iostream>
#include <string>
CString type_str[20];
std::ifstream file("ecat_type.txt"); // 打开文件第一行个数,第二行开始类型
if (!file.is_open())
{
//打开失败
for(int i=0;i<17;i++)
{
type_str[i]=L"1";
}
}
else
{
std::string line;
int i=0;
while (getline(file, line)) // 逐行读取文件直到文件结束
{
// std::cout << line << std::endl; // 输出每一行
type_str[i]= line.c_str();//String -------> CString
i++;
}
file.close(); // 关闭文件
set_ecat_axisnum=_ttoi(type_str[0]);
}
2、保存
std::ofstream outfile("ecat_type.txt");
CString cstr_ecat;
if (!outfile.is_open())
{
//std::cerr << "无法打开文件" << std::endl;
//return 1;
}
else
{
GetDlgItemText(IDC_EDIT_ECAT_axisnum,cstr_ecat);
std::string string_ctr(CT2A(cstr_ecat.GetString()));//CString -----> string:
outfile << string_ctr;//先写入个数
outfile << "\n";
for(int i=0;i<16;i++)
{
cstr_ecat=m_ListECAT.GetItemText(i,LIST_AXISTYPE);
std::string string_ctr(CT2A(cstr_ecat.GetString()));//CString -----> string:
outfile << string_ctr;
outfile << "\n";
}
outfile.close();
}
保存数据时,会创建或覆盖ecat_type.txt文件,文件内容将先被清空。