この質問はかなりシンプルですが、プラットフォーム依存性なしでCでファイルをコピーするための明確な解決策が見つかりません。プラットフォーム依存性のないファイルをC言語でコピーするにはどうすればよいですか?
オープンソースプロジェクトでディレクトリを作成し、ファイルをコピーして外部プログラムを実行するためにsystem()コールを使用しました。 Mac OS Xやその他のUnix-ishシステムではうまく動作しますが、Windowsでは失敗します。問題があった。
system("cp a.txt destination/b.txt");
- Windowsは、パスの区切りのためのバックスラッシュを使用しています。 (Unix-ishのスラッシュと対比)
- Windowsは、内部コピーコマンドに「コピー」を使用します。 (vs Unix-ishのcp)
依存関係のないコピーコードを書くにはどうすればよいですか?
(実は、私はこの問題を解決するために、マクロを書いたが、それはクールではありません。http://code.google.com/p/npk/source/browse/trunk/npk/cli/tests/testutil.h、L22-56)
問題は、「コピー」にぶら下がっていません上記のように。 – lqez