0

我的 .exe 应用程序需要在控制台窗口中打开。然后我必须.txt在控制台应用程序中键入 a 的名称才能读取。如何在我的代码中一次执行所有这些操作?
我曾经能够用 运行它(而不是让它读取.txt)system("name.exe"),但突然它给出了,

错误:输入“name.exe”不是有效的 Windows 应用程序

4

3 回答 3

0

您可以让您的应用程序将文件名作为命令行参数读取,然后您可以使用 system("name.exe name.txt") 运行您的应用程序。

于 2012-05-30T05:50:30.797 回答
0

在 Windows 中使用CreateProcess API 来执行此操作 - http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx。不要使用系统

于 2012-05-30T06:11:27.550 回答
0

1- 键入“name.txt” 2- 按 Enter 3- 键入 name2.exe 4- 按 Enter。我怎样才能通过我的 C++ 代码做到这一点?

std::string appName, fileName
std::cin >> appName >> fileName;
system(std::string(appName + " " + filename).c_str())

如果名称包含空格,您可能需要使用getline来读取它们而不是>>.

- 编辑 -

基本上我希望一旦我的应用程序被调用,输入也会自动提供给它。

使用重定向输入创建子进程 (msdn)

_popen 文档(msdn)

管道到子进程(GNU)

于 2012-05-30T06:02:11.613 回答