资源简介
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++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
- VC++基于OpenGL模拟的一个3维空间模型
评论
共有 条评论