By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,365 Members | 3,180 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,365 IT Pros & Developers. It's quick & easy.

Getting User Input after getting Input from a file

P: n/a
Hey, I am having a problem with a program I am working on. Basically,
the first part of the program gets input from a file using cin.getline.
Then the second part, (still in the same main as the first part) needs
to get input from the user, and I want to do this with cin.getline
also. The problem I am getting, is when I run the program, the text if
read in from the file correctly, but it seems to just skip over the
cin.getline when I want to get input from the user. I think this is
having something to do with the cin.getline still trying to read the
file, and getting the EOF and returning null, instead of pausing for
the user input. I want it to stop trying to get input from the file,
and get input from the user on the command line. Any help on how to fix
this? Thanks in advance.
My program: (in pseudocode)

int main ()
{
//getting text from file
while ( cin.getline ( text [], size, '\n' ) )
{
//processing text from file

}

//getting input from user
bool b = false; //if 1 is entered by user, b is set to true and
program ends

while ( !b )
{
cin.getline ( userinput [], usize, '\n' );
//check to see if user entered 1
if (user didnt enter 1)
{
process user input
}

else
b = true;

}

return 0;
}//end main

Mar 22 '06 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Is there a way to redirect cin from stdio to file io in application?

Mar 22 '06 #2

P: n/a
In article <11*********************@j33g2000cwa.googlegroups. com>,
de******@uga.edu wrote:
Hey, I am having a problem with a program I am working on. Basically,
the first part of the program gets input from a file using cin.getline.
Then the second part, (still in the same main as the first part) needs
to get input from the user, and I want to do this with cin.getline
also. The problem I am getting, is when I run the program, the text if
read in from the file correctly, but it seems to just skip over the
cin.getline when I want to get input from the user. I think this is
having something to do with the cin.getline still trying to read the
file, and getting the EOF and returning null, instead of pausing for
the user input. I want it to stop trying to get input from the file,
and get input from the user on the command line. Any help on how to fix
this? Thanks in advance.
My program: (in pseudocode)

int main ()
{
//getting text from file
while ( cin.getline ( text [], size, '\n' ) )
{
//processing text from file

}

//getting input from user
bool b = false; //if 1 is entered by user, b is set to true and
program ends

while ( !b )
{
cin.getline ( userinput [], usize, '\n' );
//check to see if user entered 1
if (user didnt enter 1)
{
process user input
}

else
b = true;

}

return 0;
}//end main


Try posting the real code instead of pseudocode.
--
Magic depends on tradition and belief. It does not welcome observation,
nor does it profit by experiment. On the other hand, science is based
on experience; it is open to correction by observation and experiment.
Mar 23 '06 #3

P: n/a
I already figured it out. I will just use ifstreams to get the file
input and regular cin to get the input from the command line. I found
out there is no way to redirect a stream from a file back to the
command line in C++. Thanks everyone though.

Mar 23 '06 #4

This discussion thread is closed

Replies have been disabled for this discussion.