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