我正在使用本机C++创建一个程序(无clr)。我正在使用一个工具包,它可以转换数据并将其通常写入文件或stdout。
问题是我想将其写入数组,但不知道将要发送的大小。
该工具箱需要参数“FILE *”,并且不能修改。
基本工作代码:
FILE * ofile = fopen("yourfile.dat", "wb");
toolkit::function(ofile);
fclose(ofile);
标出第一行是
FILE * ofile = stdout;
我现在想要的是可以执行该函数,最后有一个指向数组操作字节的指针(例如char *)及其大小。
我一直在寻找可以找到解决方案的方法。
第一次写入文件不是一种选择。
最佳答案
如果我理解正确,您想要一个FILE *对象,该对象将把所有写入该对象的字节存储在内存缓冲区中,对吗?fmemopen
完全可以完成这项工作,但是它是POSIX.1-2008,根据其联机帮助页并不广泛。