磁盘空间读取问题 使用vs2008

来源:百度知道 编辑:UC知道 时间:2024/05/17 01:19:26
代码如下:
/*****************
*files.c删除、复制、重命名、移动文件
********************************/
/*头文件*/
#include<windows.h>
#include<stdio.h>
/**********************************8
* int main(int argc,PCHAR arg[])
* 功能:应用程序主函数,根据输入参数
删除、复制、重命名文件
*参数:删除文件:
* -d 文件路径
* 将文件路径1的文件复制到文件路径2;
* -c 文件路径1 文件路径2
* 将文件路径1的文件移动、重命名为文件路径2的文件;
* -m 文件路径1 文件路径2
************************************/
int main(int argc,PCHAR argv[])
{
//-d参数,删除文件
if(lstrcmp("-d",argv[1])==0&&argc==3)
{
if(!DeleteFile(argv[2]))
printf("删除文件错误:%x\n",GetLastError());
else
printf("删除成功!\n");
}
//-c参数,复制文件
//如果文件存在,询问用户是否覆盖
else if(lstrcmp("-c",argv[1])==0&&argc==4)

{
//复制,不覆盖已经存在的文件
if(!CopyFile(argv[2],argv[3],TRUE))
{
//LastError==0x50,文件

================================================
我的是VS2008,系统是Windows XP
可见程序肯定是没问题的,可能是Windows 7操作系统的文件系统对于某些指令不兼容
=================================================

程序编译和运行都没问题,
LZ你输入的命令行有误:
根据你的代码应该这么输入:
假设你的程序编译以后生成的可执行文件叫"111.exe",位于F:\Programe\Debug文件夹下,
那么:
删除文件(删除F盘下的123.txt文件):
命令行:
F:\Programe\Debug>111.exe -d F:\123.txt

将文件路径1的文件复制到文件路径2(将F盘下的123.txt文件拷贝到D盘的234.txt);
命令行:
F:\Programe\Debug>111.exe -c F:\123.txt D:234.txt

下面是我的运行结果:
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

F:\>cd Programe..

F:\Programe>cd Debug..

F:\Programe\Debug>111.exe -d F:\123.txt
删除成功!

F:\Programe\Debug>

warning C4715: 'main' : not all control paths return a value
程序不够健壮而已,其实如果按照你的意愿呢,你完全可以在函数的最后加一条return 0;的语句,以备不测.