我找到了一个C / C ++ QRCode库,并希望将其用作.dll。
一个函数,简称为“qrcode”,有char szSourceString[], char OUT_FILE[]
作为参数。
SourceString
是konvert的文本,OUT_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);
我想将unsigned char*pRGBData
返回到我从Centura调用的地方。
我不知道如何使用/使用哪种数据类型。
我试图将pRGBData
转换为std :: string并返回它,但是当从Centura调用函数时崩溃了。我不知道转换本身是否正常工作,或者它是否因为我选择了错误的数据类型而崩溃。作为Centura-“String”,我可以通过“HARRAY
HSTRING,LPSTRING,LPCSTR,LPCWSTR,LPVOID,LPWSTR“。
请问有人在这帮助我吗?
答案 0 :(得分:2)
将其作为字节数组返回,并在Gupta中使用接收字符串LPCSTR。