質問: QString("a -tzip ") + QString("maker.zip") + QString(" ") + QString("著作権.txt") + QString(" -hide"); SevenZip(NULL,cmd.toStdString().c_str(), r, 2000 ); } }else{ cout << "error 1" << endl; } return; } } ``` 7-Zip32.dll内の SevenZip関数の第二,第三引数がchar*になっています。( 厳密には const char* や char*をtypedefした型ですが。 ) これを実行すると圧縮ファイルに追加したいファイル名が文字化けするようで失敗します。 ( 実際に cmd.toStdString().c_str() を見てみると文字化けしていました。 ) 直接 配列やクラス等に入れずにそのまま SevenZip(NULL,"a -tzip maker.zip 著作権.txt -hide", r, 2000 ); やっても空のZIPファイル... ( つまり失敗... ) 元 ( DLL内の関数 ) がwchar_tをtypedefしたものならよかったのに... [環境] 言語: C++ Qt: あり Windows API: あり 宜しくお願い致します。
回答: 7-zip32.dll/7-zip64.dll/7z.dll文字化け対策版 を使ってみたらどうでしょう?