C++ 从C+;返回文件流+;dll给Centura团队开发人员

C++ 从C+;返回文件流+;dll给Centura团队开发人员,c++,dll,guptateamdeveloper,centura,C++,Dll,Guptateamdeveloper,Centura,我发现了一个C/C++QRCode库,并希望将其用作.dll。 一个简单称为“qrcode”的函数具有char szSourceString[],char OUT_FILE[]作为参数。 SourceString是konvert的文本,OUT\u FILE是文件名。此函数写入.bmp。 在Gupta/Centura Team Developer 5.2中,我需要使用.dll,我需要将这些参数作为“LPSTR”传递。 上面提到的工作很好,但我正在寻找一种返回文件流的方法,而不是编写.bmp文件,我

我发现了一个C/C++QRCode库,并希望将其用作.dll。 一个简单称为“qrcode”的函数具有
char szSourceString[],char OUT_FILE[]
作为参数。
SourceString
是konvert的文本,
OUT\u FILE
是文件名。此函数写入.bmp。
在Gupta/Centura Team Developer 5.2中,我需要使用.dll,我需要将这些参数作为“LPSTR”传递。 上面提到的工作很好,但我正在寻找一种返回文件流的方法,而不是编写.bmp文件,我必须在Centura中再次打开该文件以进一步处理它

<>在C++库中,文件的编写方式如下:

if (!(fopen_s(&f, OUT_FILE, "wb")))
        {
        fwrite(&kFileHeader, sizeof(BITMAPFILEHEADER), 1, f);
        fwrite(&kInfoHeader, sizeof(BITMAPINFOHEADER), 1, f);
        fwrite(pRGBData, sizeof(unsigned char), unDataBytes, f);

        fclose(f);
我想将
无符号字符*pRGBData
返回到我从Centura调用它的地方。 我不知道怎么做/使用哪种数据类型。 我试图将
pRGBData
转换为std::string并返回它,但是从Centura调用函数时崩溃了。我不知道转换本身是否可以正常工作,或者它是否因为我选择了错误的数据类型而崩溃。作为Centura-“字符串”我可以通过“HARRAY” hs字符串、LPSTRING、LPCSTR、LPCWSTR、LPVOID、LPWSTR”。
有人能帮我吗

将其作为字节数组返回,并在Gupta中使用接收字符串LPCSTR。

您的问题不清楚,是否要返回文件流或
pRGBData
指向的任何内容?读取文本时,如果不需要文件流,则需要原始图像数据。还要注意的是,即使您成功获取了图像数据,它也已写入文件,因此,如果您要处理图像数据,然后将其写入文件,则必须在正确的位置重写数据,包括对标题的可能修改,或者重写库的代码以不写入文件,但是,我们有一个创建数据并将其返回给您的函数,还有一个单独的函数将数据写入文件。很抱歉,这个问题不清楚。我想要图像数据。我可以重写代码,这样它就可以在不编写代码的情况下返回数据。我的问题是,我不知道如何退货。我可以写一些简单的东西,比如
返回pRGBData
?那么,在Centura方面我必须使用什么数据类型呢?