Cambo Freelance
HomeServicesArticlesTutorialsTeamCoursesContact
Cambo Freelance

Professional freelance team from Cambodia delivering technology-driven solutions with cultural insight and modern expertise.

Send us a message

Ready to start your project? Get in touch with our team.

Contact Us

Services

  • Web & Mobile Development Services
  • Graphic Design & Branding Services

Useful Links

  • Home
  • Services
  • Learning
  • About Us
  • Contact
  • Pricing

© 2026 Cambo Freelance. រក្សាសិទ្ធិទាំងអស់។

TelegramFacebookLinkedInEmail
HomeTutorialsC++C++ Files
⚡C++ Tutorials

50 lessons

Beginner(21)1C++ Introduction2C++ Getting Started3C++ Syntax4C++ Output5C++ Comments6C++ Variables7C++ Data Types8C++ Constants9C++ User Input10C++ Operators11C++ Strings12C++ Math13C++ Booleans14C++ Conditions15C++ Switch16C++ Loops17C++ Break and Continue18C++ Arrays19C++ Functions20C++ References21C++ Pointers
Intermediate(19)22C++ Classes23C++ Objects24C++ Constructors25C++ Access Specifiers
Advanced(10)41C++ Smart Pointers42C++ Templates43C++ Lambda Functions44
⚡

C++ Tutorials

Lesson 30 of 50

All lessons
Beginner (21)1C++ Introduction2C++ Getting Started
26
C++ Encapsulation
27C++ Inheritance
28C++ Polymorphism
29C++ Abstraction
30C++ Files
31C++ Exception Handling
32C++ Namespaces
33C++ Structures
34C++ Enumerations
35C++ STL Introduction
36C++ Vectors
37C++ Maps
38C++ Sets
39C++ Queues
40C++ Stacks
C++ Move Semantics
45C++ Multithreading
46C++ Design Patterns
47C++ Memory Management
48C++17 Features
49C++20 Features
50C++ Performance Optimization
3
C++ Syntax
4C++ Output
5C++ Comments
6C++ Variables
7C++ Data Types
8C++ Constants
9C++ User Input
10C++ Operators
11C++ Strings
12C++ Math
13C++ Booleans
14C++ Conditions
15C++ Switch
16C++ Loops
17C++ Break and Continue
18C++ Arrays
19C++ Functions
20C++ References
21C++ Pointers
Intermediate (19)22C++ Classes23C++ Objects24C++ Constructors25C++ Access Specifiers26C++ Encapsulation27C++ Inheritance28C++ Polymorphism29C++ Abstraction30C++ Files31C++ Exception Handling32C++ Namespaces33C++ Structures34C++ Enumerations35C++ STL Introduction36C++ Vectors37C++ Maps38C++ Sets39C++ Queues40C++ Stacks
Advanced (10)41C++ Smart Pointers42C++ Templates43C++ Lambda Functions44C++ Move Semantics45C++ Multithreading46C++ Design Patterns47C++ Memory Management48C++17 Features49C++20 Features50C++ Performance Optimization
⚡C++IntermediateLesson 30 of 50CamboFreelanceJune 19, 2026

C++ Files

Learn C++ file I/O with fstream, ofstream, and ifstream. Read, write, and append files with error checking.


Tutorials › C++ › Files
Intermediate8 min readLesson 30 of 50

File I/O with fstream

C++ uses the <fstream> header for file operations. Three classes:

ClassPurpose
ofstreamWrite to files (output file stream)
ifstreamRead from files (input file stream)
fstreamRead and write

Writing to a File

#include <iostream>
#include <fstream>
using namespace std;

int main() {
    ofstream file("students.txt");   // creates or overwrites
    if (!file) {
        cerr << "Cannot open file!" << endl;
        return 1;
    }
    file << "Alice, 95" << endl;
    file << "Bob,   82" << endl;
    file << "Carol, 78" << endl;
    file.close();
    cout << "File written successfully." << endl;
    return 0;
}

Reading from a File

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main() {
    ifstream file("students.txt");
    string line;
    while (getline(file, line)) {
        cout << line << endl;
    }
    file.close();
    return 0;
}

Output:

Alice, 95
Bob,   82
Carol, 78

Append Mode

ofstream file("log.txt", ios::app);   // append without erasing
file << "New log entry" << endl;
file.close();

Exercise

Write a program that: (1) writes 5 numbers (1–5) to a file, one per line. (2) Reads them back and prints their sum.

Show Solution
#include <iostream>
#include <fstream>
using namespace std;

int main() {
    // Write
    ofstream out("numbers.txt");
    for (int i = 1; i <= 5; i++) out << i << endl;
    out.close();

    // Read and sum
    ifstream in("numbers.txt");
    int n, sum = 0;
    while (in >> n) sum += n;
    in.close();
    cout << "Sum: " << sum << endl;   // 15
    return 0;
}

Quiz

  1. Which class is used to write to a file in C++?

    • A) ifstream
    • B) fileout
    • C) ofstream
    • D) writefile
    Answer

    C) ofstream

  2. Which flag opens a file in append mode?

    • A) ios::in
    • B> ios::append
    • C) ios::app
    • D) ios::add
    Answer

    C) ios::app

Summary

  • #include <fstream> for file I/O.
  • ofstream writes; ifstream reads; fstream does both.
  • Always check if the file opened and close it when done.
  • Use ios::app to append without erasing existing content.
← Previous: Abstraction Next: Exception Handling →
c++filesfstreamfile-iointermediate
PreviousLesson 29: C++ AbstractionNextLesson 31: C++ Exception Handling
Back to All Tutorials