gpt4 book ai didi

c - 如果它们同时执行,如何从另一个可执行文件访问变量?

转载 作者:太空宇宙 更新时间:2023-11-04 06:10:50 24 4
gpt4 key购买 nike

我有两个不同的可执行文件,分别称为 main1 和 main2。在第一个 main1 中,我输入了 int main(int argc, char **argv) 参数。我想将它们发送到 main2,我将检查输入并显示它们。但问题是我需要同时执行它们,分别在 Iterm 中,如:

./main1 "asd" | ./main2

是不是应该用malloc存到内存里,再从另一个main调用呢?如果是这样我该怎么做?我无法改变执行它们的方式。我所能做的就是创建我的库或分配内存。

最佳答案

在这个shell语句中

./main1 "asd" | ./main2

管道符号 (|) 将其左侧参数的标准输出连接到其右侧参数的标准输入。

所以要将数据从main1发送到main2只需让main1写入预先打开的FILE* stdout 并从预先打开的 FILE* stdin 中读取 main2。 “预打开”是指当 C 程序启动时,这两个流由 C 运行时系统自动打开。

要访问在 main1 中传递给 main1 的参数,请像这样定义它的 main()

int main(int argc char ** argv)

  for (int i = 1; i < argv; ++i)
{
/* to for example print the arguments (to standard-output) do: */
fputs(argv[i], stdout);
}

关于c - 如果它们同时执行,如何从另一个可执行文件访问变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57231497/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com