【问题标题】:How to convert a string into a Standard C File ?如何将字符串转换为标准 C 文件?
【发布时间】:2026-01-14 07:55:01
【问题描述】:

您好,我的内存中有一张图片,我想通过外部 FTP 库发送它。

此 FTP 库仅接受标准的C FILE,并且此库提供的示例代码仅从硬盘读取数据。在我的应用程序中,我不想将图像存储在硬盘中,然后使用 FILE 变量读取它们,而是希望在内存中进行转换,以便更快、更专业。

我的图像格式为uchar *,但我可以将其更改为std::StringQByteArray 或任何其他类型的字符串。现在我想知道我怎样才能拥有一个由我的图像数据填充的文件,这样我就可以摆脱将它存储到硬盘中并再次读取它。

我的伪代码:

   uchar * image = readImage();
   FILE * New_Image = String2FileConverter(image); //I need this function
   FTP_Upload(New_Image);

【问题讨论】:

    标签: c++


    【解决方案1】:

    在 Posix 系统上,您可以使用 fmemopen 创建内存支持的文件句柄。

    【讨论】: