バックアップテスト用のダミーファイルシステムを作成するプロジェクトを完了しており、構造内にハードリンクとソフトリンクを作成する方法を開発する必要があります。
windows.hのCreateHardLink関数とCreateSymbolicLink関数は、現在の作業ディレクトリに基づいてファイルの場所と名前を受け取ります。
ソースコードはディレクトリを変更しますが、これら2つの関数は正常に実行されません。
wstring hltarg;
hltarg = L"sym";
hltarg += ExistingFileName;
CreateHardLinkW(hltarg.c_str(), ExistingFileName.c_str(), NULL)
ここで、hltargは、既存のファイル名をsymの末尾に連結します。
作業ディレクトリをターゲットディレクトリに移動したため、これらの文字列にはフルパスは含まれていませんが、ターゲットファイル名のみが含まれています。
現在のディレクトリを変更するのではなく、別のルートを取るためのアドバイスはありますか?
必要なファイルパスが提供されますが、ファイルパスへのハード参照を作成できないように、アプリケーションはポータブルである必要があります。