文件作为标准输入命令行中的C在visual studio
当我编写一个C程序并使用独立编译器,如MinGW编译它,我可以写“myprogram.exe < test.txt”和标准输入是测试。文本。文件作为标准输入命令行中的C在visual studio
我该如何在Visual Studio 2010中做到这一点?我知道项目属性中的“命令参数”,然后调试器,但我不知道该键入什么。它只是输入文件或其他东西的路径吗?
你不能直接在Visual Studio中做到这一点。 I/O重定向是命令处理器的一个功能,而不是VS.您可以打开命令提示符,导航到该目录中的可执行文件生命发出命令:
myprogram.exe < test.txt
有(假设test.txt的也是这个目录,如果不是你可以随时使用完整路径名称)。
更新:您可以通过让VS为您运行命令提示符并开始您的程序来做你想做的事。在配置属性|下调试时,将命令字段中的内容(通常为$(TargetPath))替换为:
cmd.exe /c "$(TargetPath)" < source-file
Leave命令参数为空。不过,我从来没有尝试过。它可能行不通。
感谢您的回复!我确实有一个后续问题。我想使用VS2010的主要原因是调试器。有没有什么办法可以让我和调试器一起使用单独的命令提示符? – Anonymoose 2011-05-16 18:05:03
对于Visual Studio中的项目,右键单击项目并选择属性。 在属性窗口中,您可以键入要用作输入的物理文件的绝对路径。
否则 您应该能够从Visual Studio的控制台上运行你的应用程序
开始 - >程序 - >微软的Visual Studio 2xxx-> Visual Studio命令提示符
计划:
class Program
{
static void Main(string[] args)
{
if (args.Length > 0)
{
foreach (var item in args)
{
Console.WriteLine("{0}", item);
}
}
}
}
你在哪里指定?我去了项目属性 - >配置属性 - >调试,并在命令参数类别中键入文件路径,但没有什么不同。 – Anonymoose 2011-05-16 18:18:39
我写了这个小程序。我在上面的编辑中附加了图片。 class Program {static void Main(string [] args){if(args.Length> 0){foreach(args中的var项){Console.WriteLine(“{0}”,item); }}}} – kanchirk 2011-05-16 19:26:18
本机语言(C和C++)的设置与C#等托管语言完全不同。 – Ferruccio 2014-07-17 22:12:15
这是t的函数他命令行shell程序,而不是编译器。如果你在msys's bash下运行,而不是使用默认的(糟糕的)Windows DOS外壳,你可以做到这一点。
Visual Studio不仅是一个编译器。 – BartoszKP 2017-07-03 15:15:26
Visual Studio确实支持这种用例。对于C++项目,请转至属性,配置属性,调试,然后在命令参数中输入“< test.txt”。
转到您的项目属性,并在“配置属性>调试”,喜欢写东西,在“命令参数”字段中输入以下: < "$(TargetDir)\input.txt"
注:
-
$(TargetDir)
扩展到您的项目的“调试”文件夹,所以请确保input.txt在那里。你可以在这里放置任何路径,但要确保它是绝对的。 - 务必使用双引号,否则如果路径中包含空格,将会出现错误。
(使用Visual Studio 2013与C++)[在Visual Studio 2008从文件中读取输入]的
可能重复(http://stackoverflow.com/questions/843342/reading-input-from -file-in-visual-studio-2008) – Fraser 2012-07-14 03:29:59
[将管道输入到Visual Studio中进行调试的C++程序中](http://stackoverflow.com/questions/9613059/piping-input-into-ac-program -to-debug-in-visual-studio) – 2013-02-06 16:41:48