コマンドライン引数によって、コピー元ファイルとコピー先ファイルを指定しています
コピー先ファイルが存在しない場合は自動的に生成します
使い方は 実行ファイル名 [コピー元ファイル名] [コピー先ファイル名] です
解答例: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 件のコメント:
コメントを投稿