Table of Contents

File processing examples

File writing

Simple example

simple-file-write.cpp
// This program writes data to a file.
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    ofstream outfile;   // instantiate file pointer object
    outfile.open("public_radio.txt");   // associate file with file pointer object
 
    cout << "Writing to the file ... ";
 
    outfile << "KCMP\t" << 89.3 << endl;
    outfile << "KNOW\t" << 91.1 << endl;
    outfile << "KSJN\t" << 99.5 << endl;
    outfile.close();    // close the file!
 
    cout << "Done!" << endl;
 
    return 0;
}

Checking for opening errors

simple-file-write2.cpp
// This program writes data to a file.
// Shows error checking.
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    ofstream outfile;   // instantiate file pointer object
    outfile.open("public_radio.txt");   // associate file with file pointer object
 
    if (!outfile)
    {
        cout << "Error opening file." << endl;
        return 1;  // exit program with an error code
    }
 
    cout << "Writing to the file ... ";
 
    outfile << "KCMP\t" << 89.3 << endl;
    outfile << "KNOW\t" << 91.1 << endl;
    outfile << "KSJN\t" << 99.5 << endl;
    outfile.close();    // close the file!
 
    cout << "Done!" << endl;
 
    return 0;
}

Using filenames

simple-file-write3.cpp
// This program writes data to a file.
// Converting string to c_str.
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
 
int main()
{
    ofstream outfile;   // instantiate file pointer object
    string filename;    // used to store filename to save file
 
    // get filename from user
    cout << "Enter the filename to store the file in\n"
         << "> ";
    cin >> filename;
 
    outfile.open(filename);            // associate file with file pointer object
    //outfile.open(filename.c_str());  // convert filename to C-string in pre-C++11
 
    if (!outfile)
    {
        cout << "Error opening file." << endl;
        return 1;  // exit program with an error code
    }
 
    cout << "Writing to the file ... ";
 
    outfile << "KCMP\t" << 89.3 << endl;
    outfile << "KNOW\t" << 91.1 << endl;
    outfile << "KSJN\t" << 99.5 << endl;
    outfile.close();    // close the file!
 
    cout << "Done!" << endl;
 
    return 0;
}

File reading

Simple example

simple-file-read.cpp
// This program reads a number from a file.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    string filename = "some_numbers.txt";
    int num1;
 
    ifstream infile;         // instantiate file pointer object
    infile.open(filename);   // associate file with file pointer object
 
    if (!infile)
    {
        cout << "Error opening file." << endl;
        return 1;  // exit program with error code
    }
 
    cout << "Reading from file ... ";
 
    infile >> num1;
    infile.close();    // close the file!
 
    cout << "Done!" << endl;
    cout << "The first number in the file is " << num1 << "." << endl;
 
    return 0;
}

Reading multiple tokens

simple-file-read2.cpp
// This program reads two numbers from a file.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    string filename = "some_numbers.txt";
    int num1, num2;
 
    ifstream infile;         // instantiate file pointer object
    infile.open(filename);   // associate file with file pointer object
 
    if (!infile)
    {
        cout << "Error opening file." << endl;
        return 1;  // exit program with error code
    }
 
    cout << "Reading from file ... ";
 
    infile >> num1 >> num2;
    infile.close();    // close the file!
 
    cout << "Done!" << endl;
    cout << "The first two numbers in the file are:" << endl
         << num1 << endl
         << num2 << endl
         << endl;
 
    return 0;
}

Read all tokens in a file

simple-file-read3.cpp
// This program reads all the numbers from a file.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    const string filename = "some_numbers.txt";
    int num1;
 
    ifstream infile;         // instantiate file pointer object
    infile.open(filename);   // associate file with file pointer object
 
    if (!infile)
    {
        cout << "Error opening file." << endl;
        return 1;  // exit program with error code
    }
 
    cout << "Reading from file ... " << endl;
 
    while (infile >> num1)
    {
        cout << num1 << endl;
    }
    infile.close();    // close the file!
 
    cout << "Done!" << endl;
 
    return 0;
}