1

あるディレクトリの内容を別のディレクトリに移動したい。コマンド ライン引数を使用して、ソース ディレクトリと宛先ディレクトリを指定します。コードは次のとおりです。

#include <stdlib.h>
#include <stdio.h>

void move_dir(FILE *src, FILE *dest) {
    int c = getc(src);
    while(getc(src)!=EOF) {
        putc(c,dest);
    }
}

int main(int argc, char* argv[])
{
    FILE *src=fopen(argv[1]);
    FILE *dest=fopen(argv[2]);
    while(--argc>0) {
        if(src!=NULL && dest!=NULL) {
            move_dir(src,dest);
        }
    }
    fclose(src);
    fclose(dest);
    return 0;
}

例えば:

./a.out /Folder1/Folder2/Source /Folder1

これにより、Source というフォルダーが Folder1 内に移動されます。ただし、このコードを実行すると機能しません。g ++で問題なくコンパイルされ、実行時にエラーは発生しませんが、何も移動しません。何が間違っている可能性がありますか?

4

1 に答える 1