读取unicode日志文件并清除记录的垃圾文件
来源:互联网 发布:linux mv命令详解 编辑:程序博客网 时间:2024/06/11 16:24
//读取unicode文件,并清除记录的垃圾文件//参数1:日志文件路径bool ReadFilePath(const wchar_t *DataFilePath){ wchar_t ChBuffer = L'\0'; //将要从文件读取的单个字符 wchar_t CleanFilePath[256] = L"\0"; //将要清除的垃圾文件路径 DWORD ReadNumber = 0; //已经读取的路径拥有的字符数量 DWORD dwReadSize = 100;//已经读取多少数据 HANDLE handle_File = CreateFile(DataFilePath, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); while(ReadFile(handle_File,&ChBuffer,2,&dwReadSize,NULL)) { if(dwReadSize == 0) { wprintf(L"检测到文件结尾\n"); break; } if(ChBuffer == L'\r') continue; if(ChBuffer == L'\n') { CleanFilePath[ReadNumber] = L'\0'; wprintf(L"已清除%s\n",CleanFilePath); DeleteFile(CleanFilePath); ReadNumber = 0; } else CleanFilePath[ReadNumber++] = ChBuffer; } // 释放文件对象资源 CloseHandle(handle_File) ;} 一开始因为不了解,使用了_wfopen_s,fgetwc系列函数,结果遇到了unicode文本乱码bug然后通过,谷歌,msdn了解了,CreateFile,和ReadFile函数使用CreateFile获取句柄,ReadFile读取文本中单个字符,并判断参数&dwReadSize是否为0来检测是否到了文件结尾BOOL WINAPI ReadFile( _In_ HANDLE hFile, //文件句柄 _Out_ LPVOID lpBuffer, //读写缓冲区 _In_ DWORD nNumberOfBytesToRead, //读取多少数据 _Out_opt_ LPDWORD lpNumberOfBytesRead,//已经读取了多少数据 _Inout_opt_ LPOVERLAPPED lpOverlapped//异步读取结构);HANDLE hFile 文件句柄,通过CreateFile来获得LPVOID lpBuffer 保存读取的字符DWORD nNumberOfBytesToRead,一个wchar_t字符为2个数据 LPDWORD lpNumberOfBytesRead, 为0时为文件结尾LPOVERLAPPED lpOverlapped //一般为空
0 0
- 读取unicode日志文件并清除记录的垃圾文件
- 读取unicode日志文件并清除记录的垃圾文件
- winForm 读取,操作文件,并记录操作日志
- 清除垃圾文件的小技巧
- 清除垃圾文件
- 是一个清理系统垃圾文件并关机的bat文件
- 清除数据库的日志文件
- 清除DB的日志文件
- 清除系统垃圾文件的BAT脚本
- 如何读取并采集动态增长的日志文件
- JavaScript创建日志文件并记录时间的做法
- ios记录日志和崩溃日志,并将日志文件发送到指定的邮箱
- express如何记录日志并写入文件
- 清除sybase 日志文件的过程
- Sql Server 清除过大的日志文件
- Oracle重做日志文件的清除
- 改良后的 清除日志文件脚本
- mysql 错误日志文件大的清除
- C Primer Plus汇总 (二)错误笔记2
- Linux内核学习和研究及嵌入式(ARM)学习和研究的开放文档
- 一位素不相识的朋友做的代码雨屏保程序
- 今天第一次解决了程序在未装VS和XP下运行的问题
- Hibernate实战_笔记25(细粒度的模型和映射)
- 读取unicode日志文件并清除记录的垃圾文件
- 关不掉的窗口
- 对硬盘扇区的操作,练手代码
- 调试 内存查看StringCchCopy的运行前后
- FormatMessage将错误代码转换成对应的字符串
- windows核心编程 第5章job lab示例程序 解决小技巧
- 坑爹的tp-link管理密码设置
- 在linux单机上手动创建Oracle 10g物理standby dataguard
- 一个函数重载问题