2017-01-21 121 views
3

我想给在命令提示符下一个大的输入即在命令提示符下大投入

100 100 
437 1 
68 0 
319 0 
565 0 
307 1 
512 0 
493 0 
30 0 
557 0 
367 0 
547 1 
263 0 
481 0 
78 0 
492 1 
56 1 
81 0 
154 0 
503 1 
375 0 
152 0 
401 0 
226 0 
482 0 
264 0 
52 0 
9 0 
145 0 
72 0 
293 0 
15 0 
42 1 
305 0 
34 0 
509 0 
156 0 
321 0 
437 0 
510 1 
449 0 
79 0 
492 0 
191 0 
354 1 
529 0 
315 0 
384 0 
371 0 
100 0 
480 0 
408 0 
221 0 
286 0 
551 0 
106 0 
123 0 
549 0 
183 1 
428 0 
435 0 
370 0 
46 0 
289 0 
246 0 
414 1 
159 0 
442 0 
286 0 
21 0 
119 0 
263 0 
572 0 
334 0 
96 0 
307 0 
323 0 
554 1 
487 0 
455 1 
399 0 
559 0 
276 0 
357 1 
586 0 
346 0 
240 1 
492 0 
63 0 
262 0 
489 0 
124 1 
526 0 
350 1 
243 0 
35 0 
292 0 
418 0 
364 1 
41 1 
519 0 

这是我的代码的一部分,是以输入:

for (int i = 0; i < n; i++) 
    { 
     cin >> a >> b; 
     A.insert(std::pair<unsigned int, bool>(a, b)); 
     total += a; 
     if (b == 1) 
      totalI++; 
    } 

我可以明明只需键入这一切,但必须有一个更短的方式,我想知道它是什么。还是有一些其他的工具/ IDE我可以使用。我正在使用Visual Studio 2015(社区)

回答

5

只是将输入重定向到程序。

C:\> my_litte_program <mydata.txt 

要运行的程序,从Visual Studio 2015年中的方法,只是将其配置在该项目的调试选项:

enter image description here

这工作也无需调试运行,例如通过Ctrl + F5

+0

我也会回答这个问题,但问题是您无法在IDE中调试程序。此外,这在我的答案中提到,所以它不会添加任何内容。 –

+0

要在Visual Studio中以这种方式运行程序,您可以在调试选项中对其进行配置。但是我需要一段时间来测试,因为VS在这里开始需要很长时间。 –

+0

@MikeNakis:我不喜欢你传递文件名和打开文件的答案。这是不必要的复杂,如果你想正确地处理非ASCII文件名,它会变得更加复杂。对于“无法调试”,这只是无稽之谈。 –

1

停止使用cin;相反,请使用您声明的流。说,myin

把你的所有的“大投入”在一个文本文件,比方说,myBigInputs.txt

让你的程序的main()函数接受参数,这将是一个文件名。使用该文件名以打开myin。编辑您的启动配置并进行设置,以便在从IDE中启动程序时,将参数myBigInputs.txt传递给它。

您还可以将程序的参数设置为可选。如果您发现没有任何参数被传递,那么只需执行myin = cin;,在这种情况下,您的程序将与以前完全一样。然后,您还可以按如下方式运行程序:myprogram < myBigInput.txt

+0

考虑到您只需执行'myprogram.exe

+0

@ChristianHackl阅读“干杯和hth”的答案,解释我为什么回答这个问题。 –

1

打开Visual Studio。加载项目。转到调试...属性...配置属性...调试

这为您提供了设置命令行的所有选项。将“< data.txt”添加为“命令参数”

相关问题