【问题标题】:passing stdio stream to another function c++将stdio流传递给另一个函数c ++
【发布时间】:2016-07-28 23:38:22
【问题描述】:

我有一个函数可以打开并将一些内容写入 stdio FILE* 流。然后我调用另一个函数,该函数将构建一个我想要然后写入同一个流的 xml。而不是将该字符串 xml 传递回原始函数,因为它可能会变得非常大,我可以将该打开的流传递给 xmlbuilder 函数并继续写入同一个流,以及它在 xmlBuilder 函数中停止的位置吗?

【问题讨论】:

  • 一句话回答:是的。
  • 标签 (c++) 和机制的严重不匹配 - C 风格 FILE*
  • 嗯,这很奇怪,我有 'c-style' 标签和 'stream' 但只有三个出现。

标签: c++ stream stdio


【解决方案1】:

当然,是这样的:

void writeOtherStuff(FILE* pFile)
{
    fputs("some more data\n", pFile);
}

void myFunction()
{
   FILE* pFile = fopen("myfile.txt", "w");
   if (!pFile)
       return;
   fputs("some data\n", pFile);
   writeOtherStuff(pFile);
   fclose(pFile);
}

【讨论】:

    【解决方案2】:

    是的,你可以。传递FILE * 指针与传递任何其他类型的指针没有区别。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      • 2012-09-25
      • 2020-10-03
      相关资源
      最近更新 更多