• 締切済み

ファイルを複製

ファイルを複製するのに一番簡単な方法は何でしょう?

みんなの回答

  • arain
  • ベストアンサー率27% (292/1049)
回答No.6

No.1です。 No.3より >byteの取り方が違うというのは聞いたことがありますが >それくらいかな~と思っていました。 標準関数を使用すれば、ファイルのオープン手順を除き一緒です。 fopen()のデフォルトのオープンモード「テキスト/バイナリ」は環境により違います。 そのためこの部分だけは明示宣言する必要がありますが、他はそのままで大丈夫です。 >じゃあ、標準関数に無いみたいなので自力で作るしかないですか・・・ はい。そうなります。 >>コピー処理自体はせぃぞうはいりませんから。 >それと、これ、よく意味がわかりません。 SYSTEMコマンドは、OSが備えている機能を使用するためのコマンドです。 そのためOSが自前でコピー機能を備えている場合に限って、SYSTEMコマンドでコピー機能を呼び出すことによって、自前でファイルコピーの処理を作成する必要はなくなります。 但し、使用できる環境が制限されるという弊害もあります。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.5

「普通の OS」を前提にしていいなら, system を使うのがある意味「一番簡単」と言えるな.

  • yama5140
  • ベストアンサー率54% (136/250)
回答No.4

>じゃあ、標準関数に無いみたいなので自力で作るしかないですか・・・  「ファイルを複製」は、言語(規格)として扱う「標準」ではないのでしょう。  言い換えると、標準関数を組み合わせて実現できること、を標準関数にする必要はないのではと・・。 なので、単純に、  1.読み込んでは、書き付ける。  2.タイムスタンプ・属性を複製する(OSによっては無意味?)。 を自分で「好きなように」作るしかないと思います。 なお、1.では、  C標準I/Oライブラリの「ファイルハンドル(FILE *)」を用いる方法と、  処理系依存?の「ファイル記述子」を用いる方法があるかと思います。  (手元の LatticeC ガイドでは、open(), read(), write(), close() )  双方を作成し、速さを調べてみるのも・・(入力をバイナリ・テキストそれぞれで)。  なお、確認の際、読み込み・書き込みの媒体は、フロッピーがよろしいかと・・。  (交互に複数回セットで実行し、最後のセットで比較?)  また、読み込みバッファサイズを変えても・・・。

  • arain
  • ベストアンサー率27% (292/1049)
回答No.3

No.1です >条件はあります。 >それは、このカテゴリが「C&C++」だからです。 >であるからして、プログラムでの実現という質問です。 このカテゴリーですから、間違っていないかぎりおそらくはC/C++の質問であろうことはわかります。 ですが、逆に言うと「そこまでしかわからない」のでNo.1の書き方をしています。 No.2氏も軽く触れてはいますが、C/C++ならすべての開発環境、実行環境で同じ関数があり同じように動作できると考えているのでしょうか? 答えは「いいえ」。 Cの標準関数でもない限り全ての開発環境に対応できる回答は「読んで書き出す処理を自前で作成する」しかありません。 「簡単に」ということですので環境依存はありますが、システムコマンドからのコピーも一応は回答していますよ。 こちらは使うことが出来ればコピー処理自体はせぃぞうはいりませんから。

hardtechno
質問者

お礼

byteの取り方が違うというのは聞いたことがありますが それくらいかな~と思っていました。 じゃあ、標準関数に無いみたいなので自力で作るしかないですか・・・ >コピー処理自体はせぃぞうはいりませんから。 それと、これ、よく意味がわかりません。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

状況をもっと詳しく説明してください. ・OS は? ・使っていい道具は? ・「簡単さ」の尺度は?

  • arain
  • ベストアンサー率27% (292/1049)
回答No.1

複製が可能な(著作権保護などのない)ファイルであれば、ファイラーでのコピー&ペスト。 「プログラムを作成して」ということであれば、頭からnバイト読み込み別の場所に書き出す。 ちょっと工夫するのであれば、プラットフォームによってはシステムコマンドの「COPY」を利用。ただし、すべてで使用できるとは限らない。 # 一切の前提条件がないので、一般論で。

hardtechno
質問者

お礼

条件はあります。 それは、このカテゴリが「C&C++」だからです。 であるからして、プログラムでの実現という質問です。 フォルダ内でコピー&ペーストなら別で質問してます。 では、freadか何かで全文読み出し→書き出ししか方法は無いのでしょうか? フォルダの中のファイルをコピー&ペーストも中の処理は同じように なっているのだとは思いますが、もっと簡単な方法(簡単な実行コマンド/関数)はないものでしょうか。

関連するQ&A