我的代码是不是有坑,怎么不能用?
原本都在下个文件下,我稍加改动,就不行了d
void getseting() //获取配置文件
{
ifstream fin;
fin.open("in.txt");
if (!fin.is_open())
{
cout << "配置文件打开失败\n";
exit(0);
}
fin.getline(item.filesavepath, 50);
fin.getline(item.filename, 50);
fin >> item.maxvalue1;
fin >> item.minvalue1;
fin >> item.maxvalue2;
fin >> item.minvalue2;
fin >> item.recordcount1;
fin >> item.recordcount2;
fin.close();
}
void txtin() //以文本形式向文件存储
{
Exetime* timers = new Exetime(); ////显示运行时间
ofstream fout;
char desti[101];
strcpy_s(desti, strlen(item.filesavepath) + 1, item.filesavepath);
strcat_s(desti, sizeof(desti), item.filename); //读取文件信息,打开文件
fout.open(desti);
if (!fout.is_open())
{
cout << "文件打开失败,不应该啊?\n应该是路径不存在\n";
exit(0);
}
fout << item.number << endl;
for (int i = 0; i < item.number; ++i)
{
fout << p[i].item1 << ',';
fout << p[i].item2 << ',' << p[i].item3 << endl;
cout << "第" << i + 1 << "行数字输入完成\n";
}
cout << "数据生成并输入文本时间为:";
timers->show();
delete timers;
fout.close();//将数据输入文件
}
void datin()
{ ////以二进制形式储存
ofstream dato("C:\Temp\data.dat", ios::out | ios::binary);
Exetime* timers = new Exetime(); //显示运行时间
dato.write((char*)&item.number, sizeof(item.number));
for (int i = 0; i < item.number; ++i)
{
dato.write((char*)&p[i], sizeof(p[i]));
cout << "数据生成并输入文本时间为:";
timers->show();
delete timers;
dato.close();
}
}
fin.open("in.txt");
这个文件是否存在,是否有内容,是否可以读取