teacup. [ 掲示板 ] [ 掲示板作成 ] [ 有料掲示板 ] [ ブログ ]


新着順:98/148 記事一覧表示 | 《前のページ | 次のページ》

tar32.dll でのファイル指定解凍

 投稿者:門間  投稿日:2003年12月17日(水)19時51分4秒 fw.jdl-nwg.jp
  通報
  はじめまして。

VC++ 6.0 の開発環境で tar32.dll を利用した、tar.gz ファイルの指定解凍の
方法について教えてください。

例えば、"test.tar.gz" というファイル内にある、拡張子が ".txt" のファイル
だけ解凍しようとして、

 -xvf C:\test\test.tar.gz *.txt

を実行すると、".txt"ファイルだけでなく、すべてのファイルが解凍されていま
います。

試しに、

 -xvf C:\test\test.tar.gz -o C:\test\ *.txt
 -xvf "C:\test\test.tar.gz" "*.txt"

に変えてやってみましたが、やはり、すべて解凍されてしまいます。

関数は、以下のように使用しています。

--------------------------------------------------------------------------------
intnStatus;
charszCmdLine[1024] szOutput[1024];
typedef int (WINAPI *TAR32)(const HWND hwnd LPCSTR pszCmdLine LPSTR pszOutput const DWORD dwSize);
HINSTANCEhTarDll;
TAR32pfnTar;

fileName = strFile.GetBuffer(10);
strFile.ReleaseBuffer();

// tar32.dll をロードする
if ((hTarDll = LoadLibrary("tar32")) == NULL)
{
// エラー処理
}
// tar32.dll 内の Tar 関数のアドレスを取得する
if ((pfnTar = (TAR32)GetProcAddress(hTarDll "Tar")) == NULL)
{
// エラー処理
}
sprintf(szCmdLine "-xvf C:\\test\\test.tar.gz *.txt");
ZeroMemory(szOutput sizeof(szOutput));

nStatus = pfnTar(NULL szCmdLine szOutput sizeof(szOutput));
if (nStatus == 0)
{
// tar.gz ファイル解凍成功
}
else
{
// エラー処理
}

// Tarライブラリを解放する
FreeLibrary(hTarDll);
--------------------------------------------------------------------------------

以上、アドバイスよろしくお願いします。
 
 
》記事一覧表示

新着順:98/148 《前のページ | 次のページ》
/148