一.创建文件

HANDLE hFile = ::CreateFile(TEXT("E:\\CreateFileDemo.txt"),     //创建文件的名称。GENERIC_WRITE|GENERIC_READ,          // 写和读文件。0,                      // 不共享读写。NULL,                   // 缺省安全属性。CREATE_ALWAYS,          // 如果文件存在,也创建。FILE_ATTRIBUTE_NORMAL, // 一般的文件。       NULL);                 // 模板文件为空。
if (hFile == INVALID_HANDLE_VALUE)
{ OutputDebugString(TEXT("CreateFile fail!\r\n"));
}

二.WriteFile写文件

写入缓冲区

const int BUFSIZE = 4096;
char chBuffer[BUFSIZE];
memcpy(chBuffer,"Test",4);
DWORD dwWritenSize = 0;
BOOL bRet = ::WriteFile(hFile,chBuffer,4,&dwWritenSize,NULL);
if (bRet)
{OutputDebugString(TEXT("WriteFile 写文件成功\r\n"));
}

三.FlushFileBuffers刷新文件缓冲区

只有调用了FlushFileBuffers,文件数据才会真正被写入

四.ReadFile读文件

DWORD dwReadSize = 0;
::ZeroMemory(chBuffer,4096);
bRet = ::ReadFile(hFile,chBuffer,4,&dwReadSize,NULL);if (bRet)
{OutputDebugString(TEXT("ReadFile 读文件成功\r\n"));
}
else
{//获取出错码。DWORD dwError = GetLastError(); //处理出错。            TCHAR chErrorBuf[1024];wsprintf(chErrorBuf,TEXT("GetLastError()=%d\r\n"),dwError);OutputDebugString(chErrorBuf);
}

五.设置文件读写位置

LONG lDistance = 0;
DWORD dwPtr = SetFilePointer(hFile, lDistance, NULL, FILE_BEGIN);

参考:http://blog.csdn.net/linhong34/archive/2008/04/13/2288586.aspx
http://blog.csdn.net/linhong34/archive/2008/04/13/2288671.aspx

SetEndOfFile函数,将当前文件位置设为文件末尾,GetFileSizeEx返回文件末尾大小

::SetEndOfFile(hFile);
LARGE_INTEGER liFileSize;
::GetFileSizeEx(hFile,&liFileSize);

转载于:https://www.cnblogs.com/Clingingboy/archive/2011/05/10/2042645.html

Win32 基本文件读写操作相关推荐

  1. java大文件读写操作

    转载自:http://blog.csdn.net/akon_vm/article/details/7429245 RandomAccessFile RandomAccessFile是用来访问那些保存数 ...

  2. C++ builder 的文件读写操作总结

    C++ builder 的文件读写操作总结 在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是: 1.基于 ...

  3. unity webgl读写txt文件_python Files文件读写操作

    今天学习python的Files文件读写操作,并记录学习过程欢迎大家一起交流分享. 首先新建一个文本文件test.txt,内容如下: hello worldhello youhello mehello ...

  4. java文件读写操作类

    借鉴了项目以前的文件写入功能,实现了对文件读写操作的封装 仅仅需要在读写方法传入路径即可(可以是绝对或相对路径) 以后使用时,可以在此基础上改进,比如: 写操作: 1,对java GUI中文本框中的内 ...

  5. OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作

    OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作 一.Write_XML_and_YAML_File(写入XML) #include <opencv2/opencv ...

  6. Python 文件读写操作-Python零基础入门教程

    目录 一.Python 文件的打开 open 二.Python 文件的关闭 close 三.Python 文件的读取 read 1.read 函数 2.readline 函数 3.readlines ...

  7. 【转】Android - 文件读写操作 总结

    Android - 文件读写操作 总结 原文出处:http://blog.csdn.net/ztp800201/article/details/7322110 在android中的文件放在不同位置,它 ...

  8. php中文件读写总结,PHP中文件读写操作

    PHP中文件读写操作 PHP中提供了一系列的I/O函数,能简捷地实现我们所需要的功能,包括文件系统操作和目录操作(如"复制[copy]").下面给大家介绍的是基本的文件读写操作:( ...

  9. C/C++ 文件读写操作总结

    C/C++ 文件读写操作总结 在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是: 1.基于C的文件操作: ...

最新文章

  1. 在CentOS_Linux版虚拟机中安装VMTools工具
  2. devmem 实际应用到 驱动中 通用接口
  3. python3 AES 加解密
  4. HTML5 CSS3的新交互特性
  5. 其他类型的链表和线性表的总结(一级)
  6. 理解Spring框架中Bean的作用域
  7. dsh批量管理linux服务器
  8. 面向对象三大特性之——继承
  9. 2021 年使用人数最多的5款主流前端框架点评
  10. 计算机加硬盘后速度变慢,硬盘速度变慢怎么办 硬盘速度慢解决方法步骤介绍【详解】...
  11. 共阳、共阳数码管编码表
  12. java空气质量指数AQI算法
  13. 第一行代码:知晓当前是哪个界面
  14. 纪念一下毛星云这位年轻的先生
  15. 如何注册表里修改计算机用户名,更改电脑用户名(可更改C:\Users\用户名)
  16. 任天堂服务器维护2021,《怪物猎人:崛起》太火爆 任天堂服务器紧急维护
  17. JavaScript 动态数据处理
  18. 【计算机网络】DNS域名系统
  19. 【Nginx】nginx代理视频流hls地址
  20. ex计算机绘图基础教程怎么画图,cad2008的新手基础教程

热门文章

  1. matlabfor循环语句举例_笨办法学python(七)条件、选择和循环
  2. Linux下的静态链接库和动态链接库编程
  3. 网络安全中机器学习大合集 Awesome
  4. csharp OverflowException——超出数值范围会抛出异常
  5. AJAX(一)XMLHttpRequest
  6. 差速移动机器人之轨迹跟踪
  7. java-com-util-common-service:BaseService.java
  8. 5-35 城市间紧急救援 (25分) pat 数据结构
  9. 来自codeblock 贴吧
  10. C# Keycode对照表