我有一个函数可以打开并将一些内容写入stdio FILE *流。然后我调用另一个函数来构建一个我想要写入同一个流的xml。而不是将该字符串xml传递回原始函数,因为它可能变得非常大,我可以将该开放流传递给xmlbuilder函数并继续写入相同的流,并在xmlBuilder函数中停止它的位置吗?
答案 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 *
指针与传递任何其他类型的指针没什么不同。