renameを使って、mvコマンドを作る

ファイルを移動するAPIはrename()である。
/* mymv.c */

#include<stdio.h> /* fprintf, perror, rename */
#include<stdlib.h> /* exit */
#include<unistd.h>

/*
#inclde<stdio.h>
int rename(const char *old, const char *new);
*/

int main(int argc, char *argv[])
{
        if(argc != 3){
                fprintf(stderr, "%s: wrong arguments\n", argv[0]);
                exit(1);
        }
        if(rename(argv[1], argv[2]) < 0){
                perror(argv[1]);
                exit(1);
        }
        exit(0);
}

#実行例
$ gcc -o mymv mymv.c
$ touch testfile
$ mymve

./mymv: wrong arguments
$ mv testfile TEST
$ ls
TEST mymv mymv.c