HFS+ フォーマットのボリュームで C のファイルを復元しようとしています。によると
man undelete
NAME undelete -- 削除されたファイルの復元を試みます
LIBRARY 標準 C ライブラリ (libc、-lc)
概要 #include
int undelete(const char *path);
説明
システム コールは
undelete()
、パスで指定された削除済みファイルの回復を試みます。現在、これは指定されたオブジェクトがユニオン ファイル システムのホワイトアウトである場合にのみ機能します。システム コールによってホワイトアウトが削除され、ユニオン スタックの下位層にあるすべてのオブジェクトが再び表示されるようになります。最終的には
undelete()
、ログ構造のファイル システムなど、削除されたファイルを回復できる他のファイル システムに機能が拡張される可能性があります。戻り値
成功した場合、
undelete()
関数は値 0 を返します。それ以外の場合、値 -1 が返さerrno
れ、エラーを示すためにグローバル変数が設定されます。
したがって、プログラムは単純です。
現在のディレクトリ (pwd) は /Users/Leo/Desktop/ で、HFS+ ファイルシステムを搭載した Mac 10.7.2 を使用しています。
#include <unistd.h>
int main()
{
char a="/Users/Leo/Desktop/test/a.out";//I delete a.out using rm for testing
const char* pa=&a;
return undelete(pa);
}
しかし、プログラムを実行すると、シェルが 255 を返しました。
何か案が?ありがとう