我找到了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”,我可以通过“ HARRAYHSTRING,LPSTRING,LPCSTR,LPCWSTR,LPVOID,LPWSTR”。
有人可以帮我吗?
最佳答案
将其作为字节数组返回,并使用Gupta中的接收字符串LPCSTR。