becoll 发表于 2009-4-16 22:30:19

数组处理存储求教

本帖最后由 becoll 于 2009-4-16 22:46 编辑

我想把一个多维数组的每一维数据的一部分数据拿出来组成一个一维数组加以存储,比如一个3*10的数组,我将每一维的前8个数拿出来,按次序组成一个1*24的一维数组,请问如何实现?

我再说明一下我要实现的东西:我做了个生产--消费者结构的数据采集存储程序,生产者循环每隔一段时间产生一段数据,比如一段1*1000的数据,以队列形式传送给消费者,消费者循环要将收到的这段数据的前800个点存储下来。而且要把下次收到的数据接着上次的存储(即存储为一个一维的数组),我现在的情况是,存储下来的是一个多维数组,请问如何解决啊?
我一开始的问题是先把数据处理成一维数组再存,但我考虑到我要存储的数据量很大(上G),弄成个一维数组恐怕内存吃不消,但是直接将队列传过来的数据存储的话就会是读一次队列送来的值我存储的数据就增加一维(我要的只是一维),请问该怎么解决呢?谢谢!

gigio 发表于 2009-4-16 22:31:58

Array Subset可以吗。我用过这个。

foolooo 发表于 2009-4-17 03:57:14

楼主说的虽然可以用Array subset+Build array 或者Reshape array+Array subset完成,但显然不是合理的解决办法。
我也做过生产者消费者结构,存储1维数组时并没碰到楼主说的情况,可不可以发个截图看看?你试试在Enqueue之前先提取Subset,看看问题还存在不(这个不是解决办法,只是查一查)。
页: [1]
查看完整版本: 数组处理存储求教