我即将开发一个程序,提示用户输入数字,程序将进行多次计算,并将输出数据存储到csv文件中。
我的问题是:
如何在每次之后将数据复制并存储到新的.csv文件中而不是现有文件中:
1)我退出并重新启动程序 2)程序在运行时突然终止(例如:由于外部错误,我的计算机在运行程序时突然关闭)?
P.S:请用示例代码向我解释或解释,而不仅仅是cz对c ++的新词。
提前致谢:)
#include <iostream>
#include <fstream>
#include<string>
#include <iomanip>
using namespace std;
int main()
{
float a,b,c;
ifstream indata;
ofstream outdata;
outdata.open("Out.csv", ios::app);//opens the csv file
outdata << "Num1,Num2,Answer" << endl;//'prompt user for numbers
while (!(a ==-100))//calculate the product of the numbers
{
cout<<"Enter Num1:";
cin>>a;
if(a==-100)break;
cout<<"Enter Num2:";
cin>>b;
c=a*b;
outdata<<a<<","<<b<<","<<c<< endl;
}
indata.open("out.csv");//stores data into the csv file
system("pause");
return 0;
}
答案 0 :(得分:1)
1)从当前日期和时间汇编文件名。
2)如果硬件突然停止工作或者使用kill -9或任务管理器强行终止进程,则不会收到任何通知,因此您无法可靠地实现您的需求。
'请使用示例代码向我解释或解释,而不仅仅是cz im new to c ++'。通过编写代码并使其工作变得更好:)
答案 1 :(得分:0)
#include <time.h>
time_t now;
time(&now);
char outputFileName[128];
sprintf(outputFileName,"%ld_my_data.csv",now);