c++stringfilechar

How to read a specific amount of characters from a text file


I tried to do it like this:

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    char b[2];
    ifstream f("prad.txt");
    f >> b;
    cout << b;
    return 0;
}

It should read 2 characters but it reads whole line. This worked on another language but doesn't work in C++ for some reason.


Solution

  • You can use read() to specify the number of characters to read:

    char b[3] = "";
    ifstream f("prad.txt");
    
    f.read(b, sizeof(b) - 1); // Read one less that sizeof(b) to ensure null
    cout << b;                // terminated for use with cout.