あるディレクトリの内容を別のディレクトリに移動したい。コマンド ライン引数を使用して、ソース ディレクトリと宛先ディレクトリを指定します。コードは次のとおりです。
#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 ++で問題なくコンパイルされ、実行時にエラーは発生しませんが、何も移動しません。何が間違っている可能性がありますか?