2013年5月14日火曜日

C言語によるファイルコピーコマンド

C言語でファイルコピーコマンド(cpコマンド)を実装します
コマンドライン引数によって、コピー元ファイルとコピー先ファイルを指定しています
コピー先ファイルが存在しない場合は自動的に生成します

使い方は 実行ファイル名 [コピー元ファイル名] [コピー先ファイル名] です


解答例:mycp.c(実行ファイル名:mycp)


#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>

int main(int argc, char *argv[])
{
  int i_file;
  int o_file;

  char c;

  if (argc < 3){
    printf("usage:./mycp [source_file] [target_file]\n");
  }

  i_file = open(argv[1], O_RDONLY);
  o_file = open(argv[2], O_WRONLY | O_CREAT | O_TRUNC, 0644);

  while (read(i_file, &c, 1) > 0)
    write(o_file, &c, 1);

  close(i_file);
  close(o_file);

  return (0);
}

0 件のコメント:

コメントを投稿