【问题标题】:Passing arguments with makefiles使用 makefile 传递参数
【发布时间】:2015-08-12 14:32:40
【问题描述】:

我有一个程序需要打开一个文件,逐行解析它,然后用这些行运行一些代码。我让程序做我想做的事,除了它必须提示输入目标文件。我需要它来从 makefile 中获取该文件。

makefile 行是:

$(PATH)/program.exe file.txt

我不确定如何在 program.exe 中打开 file.txt。我知道在 C++ 中打开文件的唯一方法是:

ifsream file;
file.open(some_string_here)

我应该使用这样的东西:c-comm-line-strings?只需调用 argv,或者有更好的方法吗?

为了问题的清晰而编辑:我这里的问题是“我如何实际使用命令行参数?” R Sahu 在 cmets 中提供的答案

【问题讨论】:

  • 我应该使用这样的东西吗?。是的。
  • 避免在文件名中加入空格会更简单。
  • 那只是一个虚拟名称/占位符。不过,我会为任何未来的读者编辑空白。

标签: c++ eclipse makefile


【解决方案1】:

(我想我知道答案,但我在 UNIX 中工作,而您似乎在使用 Windows,所以下面的一些内容可能需要一些调整。)

如果我没看错你的问题,你可以在命令行上执行你的程序:

./program.exe

它会提示你输入文件名,你给它“file.txt”,然后一切运行顺利。尝试通过管道传递输入:

echo file.txt | ./program.exe

如果可行,您可以将其放入您的 makefile:

echo file.txt | $(PATH)/program.exe

【讨论】:

  • 感谢您提供的信息,但我的问题实际上是,如何使用命令行参数。 R Sahu 说我询问的链接可以满足我的需要。
  • @eric:啊,所以这个问题实际上与Make或打开文本文件无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-02
  • 2013-03-08
  • 1970-01-01
  • 2011-09-10
  • 2021-02-26
  • 2018-06-23
相关资源
最近更新 更多