我有一个可以工作的 C++ MFC 程序,但我也希望能够通过命令行调用一个更简单的版本。(如果有 cmd 行参数,这通过使用 cmd 行版本来工作。)我希望程序使用当前打开的“cmd”窗口运行,并在某种程度上为它创建一个新的 shell。在 InitInstance() 中,我有...
CString cmdLine;
cmdLine.Format("%s", this->m_lpCmdLine);
if(cmdLine.IsEmpty())
dlg.DoModal(); // Run application normally
else
{
CString header = "Welcome to the program!";
AttachConsole(ATTACH_PARENT_PROCESS); // Use current console window
LPDWORD charsWritten = 0;
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), header, header.GetLength(), NULL, NULL);
}
如何将输入输入到我的程序中?cin 似乎不起作用。我试过这样的事情:
char input[10] = "";
while((strcmp(input, "q") != 0) && (strcmp(input, "quit") != 0))
scanf("%s", input);
但它似乎不起作用,因为命令窗口等待新的提示。