C++ 从C+;返回文件流+;dll给Centura团队开发人员
我发现了一个C/C++QRCode库,并希望将其用作.dll。 一个简单称为“qrcode”的函数具有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文件,我
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方面我必须使用什么数据类型呢?