【问题标题】:Subsequently sending command-line arguments to a C program without re-executing it随后将命令行参数发送到 C 程序而不重新执行它
【发布时间】:2020-04-10 19:35:29
【问题描述】:

我目前正在使用 $./launch argv1 argv2 argv3 将命令行参数发送到我的 c 程序的模板。但是,我想启动我的程序一次,并且想在不输入“./launch”部分的情况下发送我的参数(基本上是一个每轮都要求输入的for循环)。我基本上希望每当我输入一些东西时,我的程序都会在我向它发送参数时进行解释。我知道我应该使用 pthread 之类的东西,但我真的不知道该怎么做,而且我对此有点陌生,因此感谢您的帮助。提前致谢

【问题讨论】:

  • 您不需要 pthreads 从输入流中读取 (stdin)。
  • 如果您与社区分享了一个代码 sn-p,展示了您的代码在做什么,他们可以为您提供更好的答案和/或关于如何前进的建议。

标签: c multithreading pthreads command-line-arguments


【解决方案1】:

我基本上希望每当我输入某些内容时,我的程序都会在我向它发送参数时进行解释。

这样不行,抱歉。程序参数仅在程序启动时传递给程序,作为启动程序的一部分。

之后,您的程序可以从其标准输入或其他来源读取其他数据,但这些数据不会以程序参数的形式接收。如果您愿意,您可以像处理程序参数一样处理它们,但这是不寻常的。通常,程序将参数和 I/O 用于不同的目的。

我知道我应该使用 pthread 之类的东西

我不知道是什么让你认为 pthreads 应该在这里发挥作用,我敦促你在考虑深入研究 pthreads 或任何其他方面之前对单线程代码和程序的工作方式有一个很好的理解多线程 API。

【讨论】:

    猜你喜欢
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    • 2017-10-07
    • 2012-07-19
    • 1970-01-01
    相关资源
    最近更新 更多