c++文件操作相关
file operation
- API functions
- HANDLE CreateFile(lpFileName,dwDesiredAccess,dwShareMode,lpSecurityAttributes,dwCreateDisposition,dwFlagsAndAttributes,hTemplateFile);
e.g. CreateFile("c:\\abc\\word.txt",GENERIC_READ|GENERIC_WRITE|GENERIC_EXECUTE|GENERIC_ALL,0/*the file
can not be shared*/,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
* parameter dwCreationDisposition must one of these five values:
2=CREATE_ALWAYS 不论文件是否存在总是创建文件或设备,如果已存在,则原文件被清空
1=CREATE_NEW 只有当文件不存在的时候才创建一个新文件,如果指定文件已经存在,则创建失败,这是它和OPEN_EXISTING不一样的地方
4=OPEN_ALWAYS 打开一个文件或设备,如果不存在,则创建一个文件或设备并打开
3=OPEN_EXISTING 打开一个文件或设备,如果不存在,则打开失败
5=TRUNCATE_EXISTING打开一个文件或设备并清空,如果不存在,则打开失败
if this function succeeds, the return value will be a open handle to the specified device, file or
maillsot.if the function fails, the return value will be INVALID_HANDLE_VALUE. - MoveFile
- CopyFile(lpExistingFileName,lpNewFileName,bFailIfExists);
bFailIfExists,如果为TRUE,则NewFileName存在时COPY失败,如果设置为FALSE,则会用新文件将原有文件覆盖。 - DeleteFile(lpFileName);如果文件不存在则删除失败,如果文件是只读属性,则也是删除失败,除非之前先去除文件的只读属性,if fails return 0;if succeed return
other value;typedef struct _SHFILEOPSTRUCT {
HWND hwnd;
UINT wFunc;
PCZZTSTR pFrom;
PCZZTSTR pTo;
FILEOP_FLAGS fFlags;
BOOL fAnyOperationsAborted;
LPVOID hNameMappings;
PCTSTR lpszProgressTitle;
} SHFILEOPSTRUCT, *LPSHFILEOPSTRUCT; - SHFileOperation(LPSHFILEOPSTRUCT lpFileOp)Copies, moves, renames, or deletes a file system object.
- C/C++ library functions[code]
char *readfile(fstream fs,string fname)
{
fs.open(fname.c_str());
if(fs.fail()){cout<<"open failed"<<endl;return 0;
fs.seekg(0,ios::end);
int length=tellg();
char *buffer=new char[length+1];
fs.seekg(0,ios::beg);
fs.read(buffer,length);
fs.close();
return buffer;
} - fstream("xxx.xxx",ios::in|ios::out|ios::trunc)
related functions:seekg tellg seekp tellp fstream fs;
fs.read(buffer,size);char *readfile(fstream fs,string fname)
{
fs.open(fname.c_str());
if(fs.fail()){cout<<"open failed"<<endl;return 0;
fs.seekg(0,ios::end);
int length=tellg();
char *buffer=new char[length+1];
fs.seekg(0,ios::beg);
fs.read(buffer,length);
fs.close();
return buffer;
} - int rename( const char *oldname, const char *newname );
- _findfirst
- _findnext
- Command Line
- system("move oldname newname")带空格的路径名需要加双引号,移动文件夹和文件
- system("del /s /q c:\\abc\\");删除文件夹下的所有文件,子目录下的文件也会被删除,但目录会保留
directory operation
- API functions
- MakeSureDirectoryPathExists("c:\\aa\\bb\\cc\\"); requirement:include <Dbghelp.h> #pragma(lib,"dbghelp.lib");
- CreateDirectoryEx(lpTemplateDirectory,lpNewDirectory,lpSecurityAttributes);//不能创建多层目录
- RemoveDirectory(lpPathName);如果包含子目录,则删除失败
- C/C++ library functions
- _mkdir("\\aa"); if the intermidite directory does not exist, the create operation failed.
- _rmdir("\\aa\\bb\\cc");//只有文件夹是空的时候才有效
- int rename( const char *oldname, const char *newname );
- Command Line
- system ("rmdir /s /q c:\\aaa\\");
- system("move oldname newname")带空格的路径名需要加双引号,移动文件夹和文件
c++文件操作相关的更多相关文章
- iOS:文件操作相关(18-03-23更)
0.iOS文件系统 1.工程内文件 2.文件夹管理 3.文件操作 4.NSCache 附录: 1.沙盒文件夹.文件大小 2.清除沙盒 Library / Cache 下所有数据 3.测试plist 0 ...
- Linux(三) - 文件操作相关命令
Ctl-A 光标移动到行首 Ctl-C 终止命令 Ctl-D 注销登录 Ctl-E 光标移动到行尾 Ctl-U 删除光标到行首的所有字符,在某些设置下,删除全行 Ctl-W 删除当前光标到前边的最近一 ...
- Android入门之文件系统操作(二)文件操作相关指令
(一)获取总根 File[] fileList=File.listRoots(); //返回fileList.length为1 //fileList.getAbsolutePath()为"/ ...
- Linux文件操作相关命令
1.创建文件夹: [root@izuf6ih01h8fzeziddwkfdz sm]# mkdir a 创建一个名为a的文件夹 2.创建文件: [root@izuf6ih01h8fzeziddwkfd ...
- Linux 文件操作相关常用命令
1.创建文件夹 [root@izwz9148jq0xmzrb36r113z 20190726]# mkdir aaa //创建aaa文件夹 2.创建文件 [root@izwz9148jq0xmzrb3 ...
- 【.NET深呼吸】Zip文件操作(1):创建和读取zip文档
.net的IO操作支持对zip文件的创建.读写和更新.使用起来也比较简单,.net的一向作风,东西都准备好了,至于如何使用,请看着办. 要对zip文件进行操作,主要用到以下三个类: 1.ZipFile ...
- Node基础篇(文件操作)
文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...
- 第32课 Qt中的文件操作
1. Qt的中IO操作 (1)Qt中IO操作的处理方式 ①Qt通过统一的接口简化了文件和外部设备的操作方式 ②Qt中的文件被看作一种特殊的外部设备 ③Qt中的文件操作与外部设备的操作相同 (2)IO操 ...
- C++ 文件操作(CFile类)
原文:文件操作(CFile),C吉羊 一.Visual C++编程文件操作 有如下方法可进行操作: (1)使用标准C运行库函数,包括fopen.fclose.fseek等. (2)使用Win16下的文 ...
随机推荐
- 2016 - 1- 22 HTTP(三)
一: iOS中发送HTTP请求的方案 三: HTTP通信过程 1.请求 1.1 HTTP协议规定,一个完整的有客户端发给服务器的请求应包含以下内容: 1.1.1 请求头: 包含了对客户端环境的描述与 ...
- 三极管的妙用之C118自动刷机
首先咱们要搞清楚咱们自动刷机的原理,不谈修改固件那么高深的东西,简单的就是控制开机键. 使用继电器来控制基本上算是上个世纪的想法吧,之前博主也做过,做出来的感觉其实也很不错,就像是一个收藏品.因为继电 ...
- 学军NOIP2016模拟赛1
GTMD这么水的一套题没有AK T1:妥妥的二分答案,贪心check. T2:问题可以转化为最长上升(还是下降我记不住了)子序列. T3:发现点被覆盖上的顺序是一定的.求出这个顺序,第一个操作在线段树 ...
- MATLAB连接MySQL数据库
今天开始看<MATLAB数据分析与挖掘实战>,学习了下用MATLAB连接MySQL数据库,环境win7,32bit,MySQL5.7.12,MATLAB2013B 首先,从这里下载驱动的压 ...
- String to Integer (atoi) ---- LeetCode 008
Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...
- AD管理命令
repadmin /showrepl 显示复制协议 dcdiag /test:dns
- 要学JavaScript!进来看吧,反正不花钱!~
有一段时间没有更新自己的博客了,今天终于可以抽出时间和大家分享一下关于JavaScript了.有很多朋友在问我没有接触过会不会很难,不好理解 其实JavaScript的基本语法和Java的基本语法很相 ...
- Android重写getResources规避用户调整系统字体大小影响Android屏幕适配
Android屏幕适配一直是一个头疼的问题.除此之外还要考虑APP在实际应用场景中,用户千奇百怪的设置,最常见的用户设置行为就是设置手机的字体大小,比如把字体设置成超大或者超小,这对屏幕适配又带来额外 ...
- 一个简单的解决方法:word文档打不开,错误提示mso.dll模块错误。
最近电脑Word无故出现故障,无法打开,提示错误信息如下: 问题事件名称: APPCRASH应用程序名: WINWORD.EXE应用程序版本: 11.0.8328.0应用程序时间戳: 4c717ed1 ...
- PHP CI分页类带多个参数
通过修改system中的pagination.php,给每个<a>都增加了class="pagination". view页面 <div class=" ...