using namespace std;
int main()
    cout<<"\npls input the file where you want to read the data from\n";
    string loc;
    ifstream g;
    g.open (loc.c_str(),ios::in);
    string data;
    cout<<"\nthe data read from the file is\n";
    return 0;

even if fiole being read contains a full line of entries(separated by say spaces) then too output is the first word only....??

Recommended Answers

All 3 Replies

Input using the >> operator is delimited by whitespace, so by default you'll only read the next "word" in the stream. If you want a full line, use getline().

Here's a quick example:

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

int main(){
    string filename;
    ifstream fin(filename.c_str(), ios::in);
    if (fin.is_open()){
        string line;
        while (getline(fin, line)){
    else cout<<"Invaild file.";
    return (0);

Getline will take the input from the file either till '\n' appears or the EOF (end of file).
So, you put it in a while loop, and you get the output.
You can add delimiters, but here's not the case.
Here's a usefull link about getline.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.