Appending a new line in a file(log file) in c++

前端 未结 3 2013
感情败类
感情败类 2021-01-17 07:37

I have a logging functionality and in this I have got log files. Now every time I run the program I want that previously written file should not get deleted and should be ap

相关标签:
3条回答
  • 2021-01-17 07:52

    Use something like:

    #include <fstream>
    #include <iostream>
    using namespace std;
    int main() {
      ofstream out("try.txt", ios::app);
      out << "Hello, world!\n";
      return 0;
    }
    

    The ios:app option makes the output get appended to the end of the file instead of deleting its contents.

    0 讨论(0)
  • 2021-01-17 07:54

    You want to open the file in "append" mode, so it doesn't delete the previous contents of the file. You do that by specifying ios_base::app when you open the file:

    std::ofstream log("logfile.txt", std::ios_base::app | std::ios_base::out);
    

    For example, each time you run this, it will add one more line to the file:

    #include <ios>
    #include <fstream>
    
    int main(){
        std::ofstream log("logfile.txt", std::ios_base::app | std::ios_base::out);
    
        log << "line\n";
        return 0;
    }
    

    So, the first time you run it, you get

    line
    

    The second time:

    line
    line
    

    and so on.

    0 讨论(0)
  • maybe you need to open the file with the append option. like this:

    FILE * pFile;
    pFile = fopen ("myfile.txt","a");
    

    or this :

    fstream filestr;
    filestr.open ("test.txt", fstream::app)
    
    0 讨论(0)
提交回复
热议问题