使用参数 + stdout + stderr 从命令行调用 MFC 应用程序
Calling MFC application from command line with arguments + stdout + stderr
我正在尝试使用命令行中的输入参数调用我的MFC应用程序。
我希望应用程序将输出打印到一个文件,将错误打印到另一个文件。
所以除了输入参数之外,我还传递了1>out.txt 2>err.txt
.
总体而言,命令行如下所示:
start /w app.exe arg1 arg2 arg3 1>out.txt 2>err.txt
它似乎确实工作了一段时间,将结果写入两个文件。
但是,在某个时候它停止了,所以我想我做错了什么。
这是我的代码:
头文件:
class CMyWinApp : public CWinApp
{
public:
BOOL InitInstance();
};
源文件:
CMyWinApp myWinApp;
BOOL CMyWinApp::InitInstance()
{
CWinApp::InitInstance();
int iNumOfArgs;
LPWSTR* pArgs = CommandLineToArgvW(GetCommandLine(),&iNumOfArgs);
for (int iArgNum=1; iArgNum<iNumOfArgs; iArgNum++)
{
fprintf(stdout,"%lsn",pArgs[iArgNum]);
fprintf(stderr,"%lsn",pArgs[iArgNum]);
}
}
我到底做错了什么?
好的,问题解决了:
我在某个时候添加了start /w
,以便强制等待完成。
出于某种原因,因此,不会将任何内容写入两个目标文件。
相关文章:
- 使用参数 + stdout + stderr 从命令行调用 MFC 应用程序
- 如果调用 RtlSetProcessIsCritical,将使用 lstrcmpW 将命令行与值进行比较将使程序崩溃
- 在构建过程中捕获所有编译器调用和命令行参数
- 在应用程序内部调用linux命令行工具
- 通过Linux命令行执行时,可执行文件运行正常 - 调用C System()命令时运行时错误
- 在未从命令行调用的程序上使用Valgrind
- C#使用命令行调用应用程序
- 从命令行调用Eclipse的格式化选项
- 在 C++ 中将命令行参数作为函数调用的简单方法
- 如何移动到文件夹并执行Windows命令行调用
- 从命令行调用CMake时,将include目录添加到CMake中
- 在调用main函数之前,是否有方法解析命令行选项?
- 从命令行调用时转换无效(c++)
- 当我在 c++ 中使用 system( "command" ) 时,我可以调用 cygwin 而不是普通命令行吗?
- 如何在lldb命令行中调用c++对象的公共函数
- qt构建系统中的jom是什么?如何从命令行调用jom来构建qt项目
- 作为"slave"调用的命令行程序被视为动态链接?
- eclipsecdt:从命令行调用make文件并添加版本号
- 是否可以在运行时从命令行调用方法或传递参数
- 如果命令行有多个管道,如何获取用于调用程序的完整命令行