我想将一个目录的内容移动到另一个目录。我通过命令行参数指定源目录和目标目录。这是代码:
#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++ 编译得很好,运行时没有错误,但它根本不移动任何东西。关于什么可能是错误的任何想法?