Caleb Jares
Caleb Jares

Reputation: 6307

Piping input into a c++ program to debug in Visual Studio

this has probably been asked before, but I haven't been able to find any answers so far. I'm trying to start my program up with multi-line input, I.E. something I don't want to type in the command line every time (as I'd probably make a mistake). I looked into the command line arguments and I pasted my input in there, but it interpreted it as every line being a command.

Input in case it helps:

8
c j i b s x k j
t a o a v y z l
x r t s w o n m
z y x e n s p r
l l o b s t e r
t g x a a a a a
j p e l a k e k
t r s l j e e e
cat
test
baseball
bake
paste
lobster
stake
zen
locks
rake
gel
slack
jar
dinosaur
0

Upvotes: 20

Views: 21380

Answers (2)

Michael Burr
Michael Burr

Reputation: 340198

Put your data in a file then go to the project properties in Visual Studio and select the "Debugging" category.

In the "Command Arguments" property type:

< "path/to/the/file"

Now that file will be fed to the program via standard input when the debugger is launched or when you launch the program within Visual Studio (but without the debugger) using Ctrl-F5.

You can use VS macros to specify the project directory, etc. if you want the test file to move along with the project.

Upvotes: 47

lmatt
lmatt

Reputation: 197

You may save your input as a file.(like "intput.txt"). Then call

freopen("intput.txt", "r", stdin);
//code to read from stdin.
fclose(stdin);

Upvotes: 5

Related Questions