0

我找到了一个 C/C++ QRCode 库并想将其用作 .dll。一个函数,简称为“qrcode”,具有char szSourceString[], char OUT_FILE[]参数。 SourceString是要转换的文本,OUT_FILE是文件名。此函数写入 .bmp。
在 Gupta/Centura Team Developer 5.2 中,我需要使用 .dll,我需要将这些参数作为“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"。有人可以帮我吗?

4

1 回答 1

2

将其作为字节数组返回,并在 Gupta 中使用 Receive String LPCSTR。

于 2014-08-29T14:17:17.917 回答