std::ofstream writes text to a file in the current working directory.

output file stream An output file stream opens a file for writing and uses `<<` like `std::cout`.

Output File Stream

message
output_file_stream.cpp
Replay: real traced execution (multi-file project)
#include <cstdio>
#include <fstream>
#include <iostream>
#include <string>

int main() {
    std::string message = "ready";
    std::string filename = "output_note.txt";

    std::ofstream file(filename);
    file << "message=" << message << std::endl;
    file.close();

    std::ifstream check(filename);
    std::string line;
    std::getline(check, line);

    std::cout << line << std::endl;
    std::cout << "written=" << message.size() << std::endl;

    std::remove(filename.c_str());
    return 0;
}
#include <cstdio>
#include <fstream>
#include <iostream>
#include <string>

int main() {
    std::string message = "saved";
    std::string filename = "output_note.txt";

    std::ofstream file(filename);
    file << "message=" << message << std::endl;
    file.close();

    std::ifstream check(filename);
    std::string line;
    std::getline(check, line);

    std::cout << line << std::endl;
    std::cout << "written=" << message.size() << std::endl;

    std::remove(filename.c_str());
    return 0;
}
#include <cstdio>
#include <fstream>
#include <iostream>
#include <string>

int main() {
    std::string message = "done";
    std::string filename = "output_note.txt";

    std::ofstream file(filename);
    file << "message=" << message << std::endl;
    file.close();

    std::ifstream check(filename);
    std::string line;
    std::getline(check, line);

    std::cout << line << std::endl;
    std::cout << "written=" << message.size() << std::endl;

    std::remove(filename.c_str());
    return 0;
}
  1. message ← ready, filename ← output_note.txt, file ← (empty), check ← (empty)

    6int main() {7    std::string message→ ready = "ready"; //@message="saved", "done"8    std::string filename→ output_note.txt = "output_note.txt";910    std::ofstream file→ (empty)(filenameoutput_note.txt);11    file(empty) << "message=" << messageready << std::endl;12    file(empty).close();1314    std::ifstream check→ (empty)(filenameoutput_note.txt);15    std::string line→ (empty);16    std::getline(check(empty), line→ message=ready);1718    std::cout << linemessage=ready << std::endl;19    std::cout << "written=" << messageready.size() << std::endl;2021    std::remove(filenameoutput_note.txt.c_str());22    return 0;23}
    outputmessage=ready
    written=5
  1. message ← saved, filename ← output_note.txt, file ← (empty), check ← (empty)

    6int main() {7    std::string message→ saved = "saved";8    std::string filename→ output_note.txt = "output_note.txt";910    std::ofstream file→ (empty)(filenameoutput_note.txt);11    file(empty) << "message=" << messagesaved << std::endl;12    file(empty).close();1314    std::ifstream check→ (empty)(filenameoutput_note.txt);15    std::string line→ (empty);16    std::getline(check(empty), line→ message=saved);1718    std::cout << linemessage=saved << std::endl;19    std::cout << "written=" << messagesaved.size() << std::endl;2021    std::remove(filenameoutput_note.txt.c_str());22    return 0;23}
    outputmessage=saved
    written=5
  1. message ← done, filename ← output_note.txt, file ← (empty), check ← (empty)

    6int main() {7    std::string message→ done = "done";8    std::string filename→ output_note.txt = "output_note.txt";910    std::ofstream file→ (empty)(filenameoutput_note.txt);11    file(empty) << "message=" << messagedone << std::endl;12    file(empty).close();1314    std::ifstream check→ (empty)(filenameoutput_note.txt);15    std::string line→ (empty);16    std::getline(check(empty), line→ message=done);1718    std::cout << linemessage=done << std::endl;19    std::cout << "written=" << messagedone.size() << std::endl;2021    std::remove(filenameoutput_note.txt.c_str());22    return 0;23}
    outputmessage=done
    written=4