views:

58

answers:

3

I'm using VS 2010, and I'm wondering how I can get my c++ program to read a file using standard input while debugging. I know how to do it from command prompt, but not when debugging.

Basically I want it to read in a file with cin>> instead of me typing stuff - but in debug mode.

+3  A: 

If you go into the project's Properties, under Debugging there's a set of options for how to actually launch the process. IIRC the way to do this is to put:

< yourfile.txt

In the Command Arguments box.

Promit
Brilliant. Works perfect - thanks!
Cam
A: 

I've never tried this (I'll usually have a debug path that accepts input from a file), but this MS Connect bug report claims that redirection operators worked in VS2005 but stopped working in VS2008:

I am debugging a console application that uses stdin & stdout, which are expected to be redirected to files. I use "<" and ">" in the Command Arguments in the Debugging Configuration Properties to redirect stdin and stdout. However, when I start debugging stdin comes from the console and stdout prints at the console. This worked correctly in VS2005 and should still work per VS2008 Help.

MS claims to have fixed the problem at some point, so maybe it's working again in 2010?

Michael Burr
+1  A: 

Right-click on the project in the Solution Explorer and go to Properties. Then click on "Debugging" on the left and in the "Command Arguments" box type something like < input.txt

cpalmer