07/06/26 17:23:14
>>279 ほれ
#include <stdio.h>
int copy(char *from, char *to)
{
FILE *fi, *fo;
int c;
if ((fi = fopen(from, "rb")) == NULL)
return perror(from), 0;
if ((fo = fopen(to, "wb")) == NULL)
return perror(to), fclose(fi), 0;
while ((c = getc(fi)) != EOF) putc(c, fo);
return fclose(fi), fclose(fo), 1;
}
int main(int argc, char **argv)
{
char *tmp;
int result;
/* 引数の制限 */
if (argc != 3) {
printf("使用法:<プログラム名> <ファイル名1> <ファイル名2>\n");
return 1;
}
tmp = tmpnam(0);
result = (copy(argv[1], tmp) && copy(argv[2], argv[1]) && copy(tmp, argv[2]));
remove(tmp);
return !result;
}