๐ Scenario: You are creating a simple program to save a list of favorite fruits to a text file. This is useful when you want to keep a record that can be opened later or shared.
๐ฏ Goal: Build a C++ program that writes a list of fruits to a file called fruits.txt using ofstream.
๐ What You'll Learn
Create a vector of strings named fruits with the exact values: "Apple", "Banana", "Cherry"
Create an ofstream object named file to open fruits.txt
Use a for loop with variable fruit to write each fruit followed by a newline to the file
Close the file after writing
Print "Fruits saved to fruits.txt" to the console
๐ก Why This Matters
๐ Real World
Saving data to files is common in many programs, like saving user preferences, logs, or reports.
๐ผ Career
Understanding file output is essential for software developers working with data storage, logging, and configuration files.
Progress0 / 4 steps
1
Create the list of fruits
Create a std::vector<std::string> called fruits with these exact values: "Apple", "Banana", "Cherry".
C++
Hint
Use curly braces {} to list the fruits inside the vector.
2
Open the file for writing
Add #include <fstream> at the top. Then create an std::ofstream object called file that opens the file named "fruits.txt".
C++
Hint
Remember to include the <fstream> header to use ofstream.
3
Write fruits to the file
Use a for loop with variable fruit to write each fruit from fruits to the file followed by a newline using << operator.
C++
Hint
Use a range-based for loop to go through each fruit and write it to the file.
4
Close the file and print confirmation
Close the file using file.close(). Then print "Fruits saved to fruits.txt" to the console using std::cout.
C++
Hint
Call file.close() to save and close the file. Use std::cout to print the message.
Practice
(1/5)
1. What is the primary purpose of the ofstream class in C++?
easy
A. To manage memory allocation
B. To read data from files
C. To create graphical user interfaces
D. To write data to files
Solution
Step 1: Understand the role of ofstream
ofstream stands for output file stream and is used to write data to files.
Step 2: Differentiate from other stream classes
Unlike ifstream which reads files, ofstream is specifically for output (writing).
Final Answer:
To write data to files -> Option D
Quick Check:
ofstream = write files [OK]
Hint: Remember 'o' in ofstream means output (write) [OK]
Common Mistakes:
Confusing ofstream with ifstream
Thinking ofstream reads files
Assuming ofstream manages memory
2. Which of the following is the correct way to open a file named data.txt for writing using ofstream?
easy
A. std::ofstream file("data.txt");
B. std::ofstream file.open("data.txt");
C. std::ofstream file = "data.txt";
D. std::ofstream file.open = "data.txt";
Solution
Step 1: Recall correct syntax for opening file with ofstream
The correct way is to create an ofstream object and pass the filename as a constructor argument.
Step 2: Analyze each option
std::ofstream file("data.txt"); uses std::ofstream file("data.txt"); which is correct syntax. Others misuse assignment or method calls.
Final Answer:
std::ofstream file("data.txt"); -> Option A
Quick Check:
Constructor with filename opens file [OK]
Hint: Use constructor with filename to open file [OK]
Common Mistakes:
Using assignment instead of constructor
Calling open() as if it returns a value
Incorrect syntax for open method
3. What will be the content of the file output.txt after running this code?
The code tries to write to the file before opening it, which is invalid.
Step 2: Understand consequences
Writing before opening means no file is ready, so output fails silently or causes error.
Final Answer:
File is opened after writing, so output fails -> Option C
Quick Check:
Open file before writing [OK]
Hint: Always open file before writing [OK]
Common Mistakes:
Writing before opening file
Forgetting to check if file opened
Closing file before writing
5. You want to write multiple lines from a vector of strings lines to a file log.txt. Which code snippet correctly opens the file, writes all lines with newlines, and closes the file safely?
hard
A. std::ofstream file;
file.open("log.txt");
for (int i = 0; i < lines.size(); i++) file << lines[i];
file.close();
B. std::ofstream file("log.txt");
for (auto line : lines) file << line << "\n";
file.close();
C. std::ofstream file("log.txt");
for (auto line : lines) file << line;
file.close();
D. std::ofstream file;
for (auto line : lines) file << line << "\n";
file.open("log.txt");
file.close();
Solution
Step 1: Check file opening and writing order
std::ofstream file("log.txt");
for (auto line : lines) file << line << "\n";
file.close(); opens the file at construction, then writes each line with a newline, then closes the file.
Step 2: Compare other options
std::ofstream file;
file.open("log.txt");
for (int i = 0; i < lines.size(); i++) file << lines[i];
file.close(); writes without newlines; std::ofstream file("log.txt");
for (auto line : lines) file << line;
file.close(); writes without newlines; std::ofstream file;
for (auto line : lines) file << line << "\n";
file.open("log.txt");
file.close(); writes before opening file, which is wrong.
Final Answer:
std::ofstream file("log.txt");\nfor (auto line : lines) file << line << "\n";\nfile.close(); -> Option B
Quick Check:
Open file first, write lines with newlines, then close [OK]
Hint: Open file first, write lines with \n, then close [OK]
Common Mistakes:
Writing before opening file
Forgetting newlines after each line
Not closing the file
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.