関数ごとにフォルダーをコピーしようとしていますSHFileOperationA
。これが私のコードです。
int main() {
SHFILEOPSTRUCTA sf;
int result;
string source = "D:\\check\\folder4";
string dest = "D:\\Documents\\test\\folder4";
sf.pFrom = source.c_str( );
sf.pTo = dest.c_str( );
sf.wFunc = FO_COPY;
sf.fFlags = FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR | FOF_SILENT;
result = SHFileOperationA(&sf);
return 0;
}
文字列を2回追加する方法がわかりません\0
。私はこのようなものを試しました。
string source = "D:\\check\\folder4\\0\\0";
string dest = "D:\\Documents\\test\\folder4\\0\\0";
しかし、それは機能していません。他にもいくつかの組み合わせを試しましたが、どれも機能していません。これを解決する方法を教えてください。
次のようにパスを直接割り当てることで問題を解決できます:-
sf.pFrom = "D:\\check\\folder4";
sf.pTo = "D:\\Documents\\test\\folder4";
問題は解決しますが、私の意図は文字列を利用することです。誰でもこれで私を助けてください。
また、可能であれば、文字列定数の直接割り当てsf.pFrom = "D:\\check\\folder4";
が機能し、文字列を使用した割り当てが機能しない理由を誰かに教えてもらえますsf.pFrom = source.c_str( );
か?
前もって感謝します。