资源简介
c++常用的工具类源码
包括:文件处理,编码处理,字符串处理,网络爬虫,网页数据的抓取 ,可根据数组规则抓取指定网页的内容(有一个例子)等等
代码片段和文件信息
#include “StdAfx.h“
#include “FileUtil.h“
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#pragma warning(disable:4996)
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
FileUtil::FileUtil(void)
{
}
FileUtil::~FileUtil(void)
{
}
/*
* 创建路径(仅单级路径)
* 参数一:路径
* 返回:true创建成功(路径存在)/false创建失败
*/
BOOL FileUtil::createDir(CString path){
ifstream file;
file.open(path);
if (!file.is_open()) {//校验本地路径是否存在
//目录不存在
//本地创建路径
if(CreateDirectory(path NULL)){
return true;
}else{
return false;
}
}
return false;
}
/*
* 校验路径是否存在
* 参数一:路径
* 返回:true存在/false不存在
*/
BOOL FileUtil::checkDir(CString path){
ifstream file;
file.open(path);
if (!file.is_open()) {//校验本地路径是否存在
//目录不存在
return false;
}
return true;
}
/*
* 校验文件是否存在
* 参数一:路径
* 返回:true存在/false不存在
*/
BOOL FileUtil::checkDoc(CString docPath){
if(““ != docPath){
if(::GetFileAttributes((char*)(LPCSTR)(CStringA)docPath)==-1){
return false;
}else{
return true;
}
}else{
return false;
}
}
/*
* 获得文件内容
* 参数一:路径
* 返回:文件内容
*/
char* FileUtil::finFileData(CString filePath){
if(FileUtil::checkDoc(filePath)==false){
return ““;
}
CFile file((char*)(LPCSTR)(CStringA)filePathCFile::modeRead);
char *pBuf;
DWORD dwFileLen; //定义存储文件长度的变量
dwFileLen=file.GetLength();
pBuf=new char[dwFileLen+1];
pBuf[dwFileLen]=0; //把最后一位一0结尾 表示文件结束
file.Read(pBufdwFileLen);
file.Close();
return pBuf;
}
/*
* 写入文件内容 不存在则创建 覆盖写入
* 参数一:文件路径
* 参数二:文件内容
* 返回:true成功/false失败
*/
BOOL FileUtil::saveFileData(CString filePathchar* fileData){
ofstream outfile(filePathios::out);//ios::app表示在原文件末尾追加
outfile.write(fileDatastrlen(fileData) );
outfile.close();
return true;
}
/*
* 写入文件内容 不存在则创建 覆盖写入
* 参数一:文件路径
* 参数二:文件内容
* 返回:true成功/false失败
*/
BOOL FileUtil::saveFileDataZJ(CString filePath char* fileData){
ofstream outfile(filePath ios::app);//ios::app表示在原文件末尾追加
outfile.write(fileData strlen(fileData));
outfile.close();
return true;
}
/**
* 说明:UTF8转化为GBK格式
* 参数:utf8字符格式的字符串
* 返回:
*/
void FileUtil::ConvertUtf8ToGBK(CString &strUtf8)
{
int len=MultiByteToWideChar(CP_UTF8 0 (LPCTSTR)strUtf8 -1 NULL0);
wchar_t * wszGBK = new wchar_t[len];
memset(wszGBK0len);
MultiByteToWideChar(CP_UTF8 0 (LPCTSTR)strUtf8 -1 wszGBK len);
len = WideCharToMultiByte(CP_ACP 0 wszGBK -1 NULL 0 NULL NULL);
char *szGBK=new char[len + 1];
memset(szGBK 0 len + 1);
WideCharToMultiByte (CP_ACP 0 wszGBK -1 szGBK len NULLNULL);
strUtf8 = szGBK;
delete[] szGBK;
delete[] wszGBK;
}
/**
* 说明:GBK转化为UTF8格式
* 参数:GBK字符格式的字符串
* 返回:
*/
void FileUtil::ConvertGBKToUtf8(CString &strGBK)
{
int len=MultiByteToWideChar(CP_ACP 0 (LPCTSTR)strGBK -1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 23072 2017-09-20 11:16 FileUtil.cpp
文件 7916 2017-09-20 11:26 FileUtil.h
- 上一篇:拓扑排序可以进行全部排列
- 下一篇:优化排样问题矩形排样C++
相关资源
- 优化排样问题矩形排样C++
- C/C++经典约瑟夫环问题——带头结点的
- Visual C++项目开发案例全程实录光盘源
- 数据结构 迷宫问题 C++ 栈方法
- C++程序设计教程 第二版 清晰版 带完
- VC++ DES 加密解密算法
- 运行c/c++程序时缺少mex.h
- K-means聚类算法的C++实现
- 中南大学信息院C++课程设计报告
- vc++实现哲学家吃面问题
- C++教程网Linux网络编程视频教程
- VC++旋转风车代码
- 八皇后问题C++递归实现
- 传智扫地僧的经典视频全集
- 应用Visual+C++平台的GPS精密单点定位程
- MFC实现填充算法
- 布隆过滤器之C++实现
- 扫雷游戏源程序 c++课程设计必备
- DES加密算法C++类
- C++课程设计-Flappy Bird
- 基于VC++的 IEC60870-103 电力规约 源码
- 输出所有安全序列的银行家c++算法
- c++写的简单的POS机
- 如何用VC++创建及调用DLL
- 电子商务系统-超市电商系统-C++
- SAR成像cs算法C++仿真
- C++大学教程第九版课后部分答案
- vs2015编译MONGODB C/C++驱动
- 图像处理软件系统visual c++
- C++利用ADO连接数据库 (菜鸟必学
评论
共有 条评论