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

2019-01-23 03:50发布

问题:

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

回答1:

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.



回答2:

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);