Write a file in a specific path in C++

后端 未结 7 785
無奈伤痛
無奈伤痛 2020-11-30 10:29

I have this code that writes successfully a file:

    ofstream outfile (path);
    outfile.write(buffer,size);
    outfile.flush();
    outfile.close();
         


        
7条回答
  •  南笙
    南笙 (楼主)
    2020-11-30 11:04

    Specify the full path in the constructor of the stream, this can be an absolute path or a relative path. (relative to where the program is run from)

    The streams destructor closes the file for you at the end of the function where the object was created(since ofstream is a class).

    Explicit closes are a good practice when you want to reuse the same file descriptor for another file. If this is not needed, you can let the destructor do it's job.

    #include 
    #include 
    
    int main()
    {
        const char *path="/home/user/file.txt";
        std::ofstream file(path); //open in constructor
        std::string data("data to write to file");
        file << data;
    }//file destructor
    

    Note you can use std::string in the file constructor in C++11 and is preferred to a const char* in most cases.

提交回复
热议问题