学习API之文件(已存在)操作

#include <windows.h>
#include <stdio.h>
/*
* int main(int argc,PCHAR argv[])
* 功能:主函数,根据输入的参数不同-删除、复制、移动文件
* 参数:删除文件
-d 文件路径(绝对路径或相对路径)
复制文件-将文件从路径1复制到路径2
-c 文件路径1 文件路径2
移动(重名民)文件
-m 文件路径1 文件路径2
*/
int main(int argc, PCHAR argv[])
{
if (0 == lstrcmp("-d",argv[1]) && argc == 3)
{
if (!DeleteFile(argv[2]))
{
printf("删除文件错误:%x\n", GetLastError());
}
else
{
printf("删除文件成功!\n");
}
}
else if (0 == lstrcmp("-c",argv[1]) && argc == 4)
{
if (!CopyFile(argv[2], argv[3], TRUE))
{
//LastError == 0x50,文件存在
if (GetLastError() == 0x50)
{
printf("文件%s已存在,是否覆盖?y/n:", argv[3]);
if ('y' == getchar())
{
if (!CopyFile(argv[2], argv[3], FALSE))
{
printf("复制文件错误,%d\n", GetLastError());
}
else
{
printf("复制成功\n");
}
}
else
{
return 0;
}
}
}
else
printf("复制成功\n");
}
else if (0 == lstrcmp("-m", argv[1]) && argc == 4)
{
if (!MoveFile(argv[2], argv[3]))
{
printf("移动文件错误:%d\n", GetLastError());
}
else
{
printf("文件移动成功\n");
}
}
else
printf("参数错误!\n");
}

测试时需要将文件名写出

posted @ 2016-05-18 19:10  mousemin  阅读(188)  评论(0编辑  收藏  举报