我找到了一个C/c++ QRCode库,并希望将其用作。dll。一个简单地称为"qrcode"的函数将char szSourceString[], char OUT_FILE[]
作为参数。SourceString
是要转换的文本,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"我能超越"HARRAYHstring, lpstring, lpcstr, lpcwstr, lpvoid, lpwstr "。有人能帮我一下吗?
将其作为字节数组返回,并在Gupta中使用Receive String LPCSTR