【发布时间】:2017-08-01 17:04:06
【问题描述】:
我正在尝试使用命令行输入参数调用我的 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,"%ls\n",pArgs[iArgNum]);
fprintf(stderr,"%ls\n",pArgs[iArgNum]);
}
}
我到底做错了什么?
谢谢。
【问题讨论】:
标签: c++ mfc command-line-arguments stdout stderr