如何在每次启动C ++程序时将数据输出到新的csv文件中?

时间:2014-05-01 09:07:56

标签: c++ csv

我即将开发一个程序,提示用户输入数字,程序将进行多次计算,并将输出数据存储到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;
}

2 个答案:

答案 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);