资源简介

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

评论

共有 条评论