zoukankan      html  css  js  c++  java
  • 实现:创建/复制/移动文件API

    使用的API:
    1、DeleteFile

    DeleteFileW(
        _In_ LPCWSTR lpFileName
        );
    

    2、CopyFile

    CopyFileW(
        _In_ LPCWSTR lpExistingFileName,
        _In_ LPCWSTR lpNewFileName,
        _In_ BOOL bFailIfExists
        );
    

    3、MoveFile

    MoveFileW(
        _In_ LPCWSTR lpExistingFileName,
        _In_ LPCWSTR lpNewFileName
        );
    

    示例代码:

    #include<windows.h>
    #include<stdio.h>
    
    int main(int argc, PTCHAR argv[]) {
    	/*
    		删除文件 api.exe -d 文件路径
    		复制文件 api.exe -c 路径1 路径2
    		移动/重命名文件 api.exe -m 路径1 路径2
    	*/
    
    	if (0 == lstrcmp(L"-d", argv[1]) && argc == 3) { // 满足条件是否是 第二个参数为-d 并且 命令行参数的个数为3  该函数结束的两个值都是为LPCWSTR
    
    
    		if (!DeleteFile(argv[2])) {  //unicode的时候 接收的值为 LPCWSTR
    			printf("删除成功 
    ");
    		}
    		else {
    			printf("删除失败 
    ");
    		}
    
    
    	}else if (0 == lstrcmp(L"-c", argv[1]) && argc == 4) {
    		if (!CopyFile(argv[2], argv[3], true)) { //第三个参数为true那么文件如果已经存在则不进行覆盖
    			//复制失败,其中一种可能是存在文件同名,copyfile 返回值为0x50
    			if (getchar() == 'y') {
    				if (!CopyFile(argv[2], argv[3], false)) { //第三个参数为false那么文件如果已经存在则直接覆盖
    					printf("文件复制失败");
    				}else {
    					printf("文件复制成功");
    				}
    			}
    		}else
    			printf("文件复制成功! 
    ");
    	}else if (0 == lstrcmp(L"-m", argv[1]) && argc == 4) {
    		//进行移动/重命名文件的操作
    		if (!MoveFile(argv[2],argv[3])) {  //movefile 和 copyfile api 参数的数据类型一样,用法也类似
    			printf("文件移动成功! 
    ");
    		}else {
    			printf("文件移动失败! 
    ");
    		}
    	}else {
    		printf("参数错误! 请重新输入");
    	}
    
    	system("pause");
    	return 0;
    	
    
    }
    
  • 相关阅读:
    Discuz!X3.1插件创建与配置
    Discuz!X3.1如何设置下载附件扣除积分
    Discuz!X3.1标签使用(二)
    Discuz!X3.1标签使用(一)
    Discuz!X3.1后台操作技巧(整合)
    Discuz!X3.1数据库的操作(三)
    Discuz!X3.1数据库的操作(二)
    Discuz!X3.1数据库的操作(一)
    Discuz!X3.2导航下拉菜单样式修改
    【discuz x3】源代码中的sql调用
  • 原文地址:https://www.cnblogs.com/zpchcbd/p/11930661.html
Copyright © 2011-2022 走看看