首页 > 其他分享 >文件操作(判断状态、删除、新建、复制、清空文件内容、获取文件长度)

文件操作(判断状态、删除、新建、复制、清空文件内容、获取文件长度)

时间:2023-09-19 10:33:41浏览次数:40  
标签:文件 123 include GENERIC 复制 FILE 清空 NULL hFile


 

判断状态
#include<io.h>
int _access( constchar*path,intmode);
返回值: 0表示允许访问,-1表示禁止访问


CreateFile
 
HANDLE hFile=CreateFile("c://123.bmp",GENERIC_WRITE|GENERIC_READ,
OPEN_EXISTING, //OPEN_EXISTING 
               FILE_ATTRIBUTE_NORMAL,NULL);
  if(hFile==INVALID_HANDLE_VALUE)//标示文件不存在

 

 

 

删除

BOOL DeleteFile(LPCSTR szFileName);
int SHFileOperation(LPSHFILEOPSTRUCT);

 

新建

WINBASEAPI
HANDLE
WINAPI
CreateFileW(
    LPCWSTR lpFileName,
    DWORD dwDesiredAccess,
    DWORD dwShareMode,
    LPSECURITY_ATTRIBUTES lpSecurityAttributes,
    DWORD dwCreationDisposition,
    DWORD dwFlagsAndAttributes,
    HANDLE hTemplateFile
    );
   CreateFile("123.txt", GENERIC_WRITE|GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
 
  #include <stdio.h>
  fopen("123.txt","wb+");

 

 

复制

CopyFile
SHFileOperation
 
清空文件内容
SetFilePointer(hFile,0,NULL,FILE_BEGIN);
 
SetEndOfFile(hFile);
 
 
HANDLE hFile=CreateFile("c://123.bmp",GENERIC_WRITE|GENERIC_READ,
,TRUNCATE_EXISTING,//已清空文件的方式打开
               FILE_ATTRIBUTE_NORMAL,NULL);

 

获取文件长度

1、

#include <stdio.h>
 
FILE *fp=fopen("c:/123.bmp",rb);
fseek(fp,0,SEEK_END);//文件指针移到尾
ulong flen=ftell(fp);//文件长度
fseek(fp,0,SEEK_SET);//移回来

 

2、

#include <stdio.h>
     #include <io.h>
    FILE *fp=fopen("c:/123.bmp",rb);
    ulong flen=filelength(fileno(fp));


3、


#include <sys/stat.h>
    struct _stat info;


           _stat(filepath, &info);
     int size = info.st_size;


4、

HANDLE hFile=CreateFile("c://123.bmp",GENERIC_WRITE|GENERIC_READ,      


,OPEN_EXISTING,
               FILE_ATTRIBUTE_NORMAL,NULL);


           DWORD dwflen=GetFileSize(hFile,NULL);      


           CloseHandle(hFile);

 

 


 

mode value


00

检测是否存在

02

写权限

04

读权限

06

读写权限

 

 

标签:文件,123,include,GENERIC,复制,FILE,清空,NULL,hFile
From: https://blog.51cto.com/u_15487030/7522587

相关文章

  • VC6.0编译器中混有.c文件时出现fatal error C1853错误解决办法及extern "C"说明
    第一章的sample1,文中提到由于windows底层代码基本上是用c语言编写的,因此新工程里的CPP文件要改为C文件。但是在编译时出现错误fatalerrorC1853:"debug/1_1.pch"isnotaprecompliedheaderfilewiththiscomplier......这个问题还真是头一次遇到,怎么办?百度一下,解决办法......
  • VC 移动,复制,删除文件(SHFileOperation)时显示动画
    比较乱凑合看吧总结一下SHFileOperation的用法,希望对大家有用//删除文件或者文件夹boolDeleteFile(char*lpszPath){SHFILEOPSTRUCTFileOp={0};FileOp.fFlags=FOF_ALLOWUNDO|//允许放回回收站FOF_NOCONFIRMATION;//不出现确认对话框FileOp.pFrom=......
  • 将vcf文件转成孟德尔随机化分析格式
    以https://gwas.mrcieu.ac.uk/datasets/ukb-b-7330/为例:原始文件形如:转换代码library(vcfR)getwd()a_data=read.vcfR('../ukb-b-7330.vcf.gz')str(a_data)head(a_data$meta,12)head(a_data@fix)head(a_data@gt)fix=as.data.frame(a_data@fix[,(1:5)])gt=as......
  • Springboot使用@value获取配置文件参数
    使用@value获取yml参数值@Value("${value}")//多级使用.连接例:${value.value}privateStringvalue;@value获取不到值的情况//错误1:使用了static或者final修饰valueprivatestaticStringvalue;privatefinalStringvalue;//错误2:类没有加上@Component(或者@Ser......
  • 运行jar文件
    【win】java-Dfile.encoding=utf-8-jarxxx.jar--spring.profiles.active=prod>log/xxx.log2>&1&【说明】-Dfile.encoding=utf-8解决运行时中文乱码问题【linux】nohupjava-jarxxx.jar--spring.profiles.active=prod>log/xxx.log2>&1&......
  • 【漏洞复现】紫光电子档案管理系统任意文件上传漏洞
    1、简介紫光电子档案管理系统是由紫光软件系统有限公司自主研发的通用档案管理系统,依照国家档案管理标准开发,结合先进的信息化管理理念,采用纯BS结构,使用流行的互联网云计算的技术框架,并且通过UE优化设计,符合用户的使用习惯,是一套具有先进性、安全性、前瞻性的综合档案管理平台。......
  • MySQL主从复制原理
    一张图让你牢记MySQL主从复制原理|原创(qq.com)为什么需要主从复制?1、读写分离,增强MySQL数据库的可用性。2、做数据的热备。3、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。说说BinlogMySQL的Server......
  • 五、文件搜索命令
    5.1 查找文件:find命令    Linuxfind命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。find命令有非常大的......
  • chmod递归设置文件夹和文件权限的正确用法
    如果要分别设置文件夹和文件的权限,建议先设置全部目录和文件为600或644首先cd到你要设置权限的文件夹第1种情况:只有自己能读写,其他人无权访问(隐私文件)的话,就是用600chmod-R600.chmod-Ru+X. 第2种情况:只有自己能读写,其他人只读(共享文件)的话,就是用644chmod-R644......
  • Linux 对隐藏文件的操作
    1、linux系统下隐藏文件(.xxx)的拷贝和删除操作2、拷贝操作:(1)一般文件操作:cp-rfxxx/*yyy/(2)隐藏文件操作:cp-efxxx/.yyy/(普通文件一并拷贝)3、删除操作(1)一般文件操作:rm-rfxxx/*(2)隐藏文件操作:rm-rfxxx/.* 4、演示截图,从src文件夹拷贝隐藏文件到dis......