Files and Streams
Output File Stream
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
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;
}
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
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
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