简体   繁体   中英

Reading from text file with ifstream

So I am trying to read from a text file. It shows that I can successfully read from the file But when I try to cout the values, it just shows 0, while I have other values in the text file.

#include <iostream>
#include <fstream>
#include <string>


using namespace std;

int main()
{

    std::ifstream file("numbers.txt");
if (file) {
    cout << "Managed to read file successfully. \n";
}else{
    cout << "Unable to read file.";
}


int x, y;

file >> x >> y;

cout << "Num 1: " << x << endl;
cout << "Num 2: " << y << endl;

    return 0;
}

The above code will print status of your operation,if you want to read and display contents the you have to write your code like this:

#include<iostream>
#include<fstream>

using namespace std;         

int main()    
{
            ifstream stream1("D:\\file1.txt");    
            char a[80];

            if(!stream1)    
            {
                        cout << "While opening a file an error is encountered" << endl;    
            }    
            else    
            {    
                        cout << "File is successfully opened" << endl;    
            }

            while(!stream1.eof())    
            {    
                        stream1 >> a;    
                        cout << a << endl;    
            }

            return(0);    
}

With the numbers.txt file

45
15

Your code work find with gcc.

int main()
{
     std::ifstream file("numbers.txt");
     if (file) 
     {
        cout << "Managed to read file successfully. \n";
        int x, y;
        file >> x >> y;

        cout << "Num 1: " << x << endl;
        cout << "Num 2: " << y << endl;
    }
    else
    {
        cout << "Unable to read file.";
    }
    return 0;
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM