将stdio流传递给另一个函数c ++

时间:2016-04-07 21:05:24

标签: c++ stream stdio

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

2 个答案:

答案 0 :(得分:3)

当然,这样的事情:

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);
}

答案 1 :(得分:2)

是的,你可以。传递FILE *指针与传递任何其他类型的指针没什么不同。