我找到了一个 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"。有人可以帮我吗?