相关疑难解决方法(0)

在Visual Studio中使用命令行参数进行调试

我正在Visual Studio中开发一个C++命令行应用程序,需要使用命令行参数进行调试.目前我只使用我需要的参数运行生成的EXE文件(像这样program.exe -file.txt),但这样我无法调试.有什么地方我可以指定调试的参数吗?

c++ debugging command-line visual-studio

487
推荐指数
7
解决办法
36万
查看次数

检查C#中的标准输入

我正在编写一个小命令行实用程序,其目的是解析另一个实用程序的输出.我希望它可以通过两种方式调用:

c:\> myutility filewithoutput.txt
Run Code Online (Sandbox Code Playgroud)

要么,

c:\> otherutility -args | myutility
Run Code Online (Sandbox Code Playgroud)

所以,基本上,标准或文件参数.我对此的第一次尝试看起来像这样:

TextReader reader;

if (args.Length > 1) {
    reader = new StreamReader(new FileStream(args[1], FileMode.Open));
} else {
    reader = Console.In;
}

Process(reader);
Run Code Online (Sandbox Code Playgroud)

文件参数工作正常,并将实用程序的输出传递给我的实用程序工作正常,但如果您只是正常调用它(没有参数和没有管道数据),它会挂起.或者说,它阻止等待从标准读取.

我的第二稿看起来像这样:

TextReader reader;

if (args.Length > 1) {
    reader = new StreamReader(new FileStream(args[1], FileMode.Open));
} else {
    if(Console.KeyAvailable) {
        reader = Console.In;
    } else {
        Console.WriteLine("Error, need data");
        return;
    }
}

Process(reader);
Run Code Online (Sandbox Code Playgroud)

虽然KeyAvailable修复了"无输入"问题,但如果您尝试管道数据> _ <,则会引发异常

Unhandled Exception: System.InvalidOperationException: Cannot see if a key
has been …
Run Code Online (Sandbox Code Playgroud)

.net c# console stdin

14
推荐指数
2
解决办法
7014
查看次数

如何使用txt文件作为命令行参数?

我有一个像这样的.txt文件:
6 4
1 2
2 3
3 4
4 5
1 2 4 5

如何在C#中将其用作命令行参数?

c# console command-line-arguments

3
推荐指数
1
解决办法
1937
查看次数