C++将字符串写入到文件中 覆盖或者不覆盖

#include 
#include 
#include 
#include 
using namespace std;
string gettime()
    {
        time_t rawtime;
        struct tm *ptminfo;
        time(&rawtime);
        ptminfo = localtime(&rawtime);
        string result;
        stringstream year;
        stringstream month;
        stringstream day;
        year<<ptminfo->tm_year + 1900;
        month<<ptminfo->tm_mon + 1;
        day<<ptminfo->tm_mday;
        string year1=year.str();
        string month1=month.str();
        string day1=day.str();

        result.append(year1).append(month1).append(day1);
        return result;
    }

int write_string_to_file_append(string file_string,string str )
{
        std::ofstream   OsWrite(file_string,std::ofstream::app);
        OsWrite<<str;
        OsWrite<<std::endl;
        OsWrite.close();
   return 0;
}

int main(int argc, char* argv[])
{
        string time = gettime();
        write_string_to_file_append(argv[1],time);
        return 0;
}

上述代码为每次执行后,都会再文本中进行追加
20191024
20191024
20191024
20191024

如果想覆盖原有内容修改:

        std::ofstream   OsWrite(file_string);

你可能感兴趣的:(C++)