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

在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);


我想将unsigned char*pRGBData返回到Centura所称的地方。
我不知道如何做/使用哪种数据类型。
我试图将pRGBData转换为std :: string并返回它,但从Centura调用该函数时会崩溃。我不知道转换本身是否可以正常工作,还是因为我选择了错误的数据类型而导致崩溃。作为Centura-“ String”,我可以通过“ HARRAY
HSTRING,LPSTRING,LPCSTR,LPCWSTR,LPVOID,LPWSTR”。
有人可以帮我吗?

最佳答案

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

09-11 17:47