c++ - 如何在文件中保存/读取数据数组 (C++)

标签 c++ arrays pointers opencv writefile

我正在使用从图像计算 SIFT 描述符的代码。我必须处理视频中的每一帧并存储每个计算描述符的序列。对于每个图像,描述符由两个数组构成:

Frames = (double*)realloc(Frames, 4 * sizeof(double)* nframes); 
Descr = (vl_uint8*)realloc(Descr, 128 * sizeof(vl_uint8)* nframes);

如何将这两个数组的序列保存在文件中,然后从文件中恢复这些数据(对于视频的每一帧)?

最佳答案

您可以使用 ofstream写入文件。下面的代码可能无法直接运行,但应该指向正确的方向。

#include <fstream>
#include <iterator>
#include <algorithm>

void writeDescriptors() {

    std::ofstream output( "C:\\descriptors.txt", std::ios::binary );
    for ( int i = 1 ; i < Frames.size(); i++ )
    {
        out << ",  " << Frames[i];
    }
}

为了读回描述符,只需使用 ifstream 并反转算法

关于c++ - 如何在文件中保存/读取数据数组 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28175464/

相关文章:

c# - 从回调调用时,应如何为非托管代码返回委托(delegate)?

c++ - 如何找出数组的长度?

c - 从数组插入链表节点,但并非所有节点都被插入

C - 将指针传递给函数

c - 指针访问有问题吗?

c - 学习C——指针和内存寻址

c++ - 输入C风格字符串并获取长度

android - 使用 Flutter 在 Android 上从本地编译的共享库调用函数

java - isPalindrome - 集合和列表反转

php - 计算多词元素平面数组中每个唯一词的总出现次数