0

C/C++ QRCode ライブラリを見つけ、それを .dll として使用したいと考えています。単純に「qrcode」と呼ばれる関数の 1 つには、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*pRGBDataCentura から呼び出す場所に戻したい。それを行う方法/使用するデータ型がわかりません。std::stringに変換pRGBDataして返そうとしましたが、Centura から関数を呼び出すとクラッシュします。変換自体が正常に機能するのか、間違ったデータ型を選択したために単にクラッシュするのかはわかりません。Centura-「文字列」として、「HARRAY HSTRING、LPSTRING、LPCSTR、LPCWSTR、LPVOID、LPWSTR」を渡すことができます。誰か助けてくれませんか?

4

1 に答える 1