将ostream重定向到输出文件

时间:2014-01-10 18:41:30

标签: c++ ostream

我对cpp仍然缺乏经验。

我有一个我想从.cpp文件调用的函数,下面是它的标题:

int wsq_encode(unsigned char* bufferRAW, int width, int height, char compressRate, std::ostream &streamWSQ);

我需要编写一个代码,打开大量的RAW图像格式(bufferRAW)并根据该公司的算法将它们压缩为.wsq,同时通过argv []使用宽度,高度和压缩率参数。输出文件应该转到streamWSQ。

wsq_encode已关闭,我不会进入它。我将输出文件传递给wsq_encode时遇到问题。我需要编写的代码非常简单:

#include "../inc/libcorewsq.h"
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main (int argc, char **argv) {
        unsigned char raw[20];
        strcpy ((char*)raw, argv[1]);
        int width = atoi(argv[2]);
        int height = atoi(argv[3]);
        ostream arq;
        arq.open ("out.wsq");
        wsq_encode (raw, width, height, 5, arq);

        return 0;
}

我仍在努力解决这个问题。我需要在CentOS ssh shell中使用GCC 4.4.7编译并运行它。

2 个答案:

答案 0 :(得分:1)

尝试使用std::ofstream,其中f用于文件。

打开std::ostream会打开一个通用输出流。

答案 1 :(得分:0)

#include无关紧要:您未能在函数定义中链接。