2014-01-10 4 views
0

Я все еще очень неопытен с помощью 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; 
} 

Я до сих пор борюсь, как это сделать. Мне нужно скомпилировать и запустить его с помощью GCC 4.4.7 внутри оболочки CentOS ssh.

+0

Объясните свою «проблему». –

+0

Функция, которую мне нужно вызвать, принимает параметр ostream для записи вывода. Если я попытаюсь квалифицировать std :: ostream или добавить «using namespace std;», сообщение об ошибке «неопределенная ссылка на« wsq_encode (unsigned char *, int, int, char, std :: basic_ostream > &) '" возникает, хотя есть #include" ../inc/libcorewsq.h ". – user3182973

+0

'# include' не имеет значения. Вы не смогли установить ссылку в функции _definition_. –

ответ

0

#include не имеет значения: вы не указали ссылку на определение функции.

1

Попробуйте использовать std::ofstream, где f предназначен для файлов.

Открытие std::ostream открывает общий выходной поток.

Смежные вопросы