
C++基础
文章平均质量分 60
虚坏叔叔
「虚幻私塾」
展开
-
C++ ifstream open 读取txt/json文件出现中文乱码的解决问题
C++ ifstream open 读取txt/json文件出现中文乱码的解决方法作者:虚坏叔叔博客:https://xuhss.com早餐店不会开到晚上,想吃的人早就来了!😄在编程中,我们经常需要对txt/json文件进行读写操作,有时候由于编解码问题,txt读写会出现乱码问题。下面介绍一种基于ofstream和ifstream的txt文件读写方法,并介绍txt文件读写的乱码解决方案。一、txt文件写入#include <fstream>#include <iostre原创 2022-05-09 18:56:58 · 10395 阅读 · 6 评论 -
C++ Json解析库CJsonObject的详细使用(跨平台无须编译成库)
作者:虚坏叔叔博客:https://xuhss.com早餐店不会开到晚上,想吃的人早就来了!😄C++ Json解析库CJsonObject的详细使用(跨平台无须编译成库)CJsonObject是基于cJSON全新开发一个C++版的JSON库,CJsonObject的最大优势是轻量(只有4个文件,拷贝到自己代码里即可,无须编译成库,且跨平台和编译器)、简单好用,开发效率极高,对多层嵌套json的读取和生成使用非常简单(大部分json解析库如果要访问多层嵌套json的最里层非常麻烦)。我一直使用原创 2022-05-09 16:45:00 · 4121 阅读 · 2 评论 -
Python和C++相似概念对比
1.self相当于c++当中的this2.类 class和C++一样3.def 定义函数()self可以默认做第一个参数,C++中的this不可以C++函数直接写在类里面 需要定义返回值的类型4.__ init__函数和C++中的构造函数类似5.for循环pythonfor index in array:c++for(int i = 0; i < (int)array.size(); i++)6.数据结构元组 () 相当于C++ 数组 vector列表 [原创 2020-12-06 23:13:42 · 1458 阅读 · 1 评论 -
libxl 的使用,读取时间格式
CString strValue; bool bDate = sheet->isDate(row, col); if (bDate) { double db = sheet->readNum(row, col); ...原创 2020-04-08 14:37:27 · 1089 阅读 · 0 评论 -
linux日志文件目录
/var/log原创 2020-01-05 11:06:46 · 414 阅读 · 0 评论 -
svn如何开启分支
1.选择要拷贝的svn路径2.确定目标svn路径3.选择copy to签出一个新的分支4.新建一个jenkins项目5.修改如下路径6.在服务器上从其他版本拷贝这个文件夹到新创建的打包项目的目录中...原创 2019-11-25 09:36:30 · 1177 阅读 · 1 评论 -
mfc 读写 excel 示例 C++ libxl
mfc 读写 excel 示例 C++ libxlhttps://download.csdn.net/download/huangbangqing12/10992304https://download.csdn.net/download/huangbangqing12/10992953原创 2019-03-04 13:58:58 · 714 阅读 · 0 评论 -
微软常用运行库合集下载(vs2008(sp)/vs2010(sp)/vs2012/vs2013/vs2015/vs2017)包含32位/64位
微软常用运行库合集下载(vs2008(sp)/vs2010(sp)/vs2012/vs2013/vs2015/vs2017) 包含32位/64位下载地址:https://download.csdn.net/download/huangbangqing12/10760650原创 2018-11-02 15:32:58 · 8691 阅读 · 1 评论 -
OpenCascade一些常用的API
一、几何图形部分三维点gp_point gp_point(0., 0., 0.) 三维坐标构建一个点gp_point::X(); gp_point::Y(); gp_point::Z(); 可以取得已知点的X、Y、Z坐标gp_point::SetX(); gp_point::SetY(); gp_point::SetZ(); gp_point::SetCoord(); 可以设置三...原创 2018-08-21 08:06:16 · 6204 阅读 · 0 评论 -
(MFC)子线程的数据如何传递给主线程中?
主线程的PreTranslateMessage可以接受子线程的PostThreadMessage在主线程中重载PreTranslateMessage函数,用于接受子线程的消息:BOOL CMFCApp::PreTranslateMessage(MSG* pMsg){ if (pMsg->message == UM_PICKERELEMENT) { osg::Node *p...原创 2018-08-02 17:03:40 · 4536 阅读 · 0 评论 -
C++ string互转wstring/Unicode互转ANSI/Unicode互转UTF8
std::string StringConvUtil::UnicodeToANSI(const std::wstring& str){ char* pElementText; int iTextLen; // 宽字节转多字节 iTextLen = WideCharToMultiByte(CP_ACP, 0, str.c_str(), -1, nullptr,...原创 2018-07-16 10:35:46 · 5355 阅读 · 0 评论 -
WordPress能够制作出什么样的网站?
在使用WordPress之前,我们常常问, “WordPress能够建立怎样的网站?” 或 “WordPress现在能创建哪些类型的站点?”。在这篇文章,我就跟我们讲讲如何在不需求任何专业知识的情况下,运用WordPress能够创建哪些网站。许多人都听说过WordPress免费网站程序。目前,许多的网站都是用WordPress树立的,由于它的功用强大,运用简略,并且也十分灵活。什么...转载 2018-04-09 22:35:21 · 2248 阅读 · 1 评论 -
如何免费建立一个网站?
以我的个人经历来说,我是不太建议用免费的空间和域名来建立网店或网站。我之前也建立了一个免费网站,开端的时分觉得真的挺不错的。可是一段时间后,网站的内容多了,阅读量也多了,可是免费网站速度却慢的很。有一次,我那个免费网站来了五百多个阅读者,也不算多,但是访问十分慢,卡了大半个小时,最后连我自己也上不了自己的网站。我们总说:“免费的往往是最贵的”,许多人都没想到,用免费网站还有许多晦气之处...转载 2018-04-02 18:11:20 · 6889 阅读 · 2 评论 -
极路由最新刷机教程
前提条件极路由1s、2、3、4,新老版本都可以,固件版本要求9006~9018。但实际上9019以及最新的1.0.xxx也都支持,只不过必须使用ss插件直达页面去操作ss,ss功能完美,就是界面有点简陋。需要有路由器有root权限,极路由官方开放root权限的申请,极路由开通root权限教程。具体方法需要在电脑上使用xshell这个软件(putty更简单),登录到极路由,x原创 2016-10-15 07:19:01 · 37077 阅读 · 1 评论 -
c++里面创建对象,什么时候应该用new什么时候应该直接创建?
什么时候用哪一种来创建对象比较好呢?new以下情况可以使用1 申请对象数量不确定时2 需要空间较大时3.动态的new,非动态的不用new,比如读文件的时候你可以定义一个数组 BYTE pBuff[4000*1024]; 用来存放文件数据这样如果文件很小就会浪费内存空间,文件很大则文件数据不能全部读出所以在读文件的时候需要根据文件的si原创 2015-08-14 16:04:43 · 5083 阅读 · 1 评论 -
可变参数宏__VA_ARGS__
在 GNU C 中,宏可以接受可变数目的参数,就象函数一样,例如:#define pr_debug(fmt,arg...) \printk(KERN_DEBUG fmt,##arg)用可变参数宏(variadic macros)传递可变参数表你可能很熟悉在函数中使用可变参数表,如:void printf(const char* format, …);直到原创 2015-08-11 20:24:43 · 931 阅读 · 0 评论 -
C++ 何时使用动态分配(即使用new关键字)?何时使用指针?
动态分配在你的问题里,你用了两种方式创建对象。这两种方式主要的不同在于对象的存储时间。当执行Object myObject;这句代码时,它作为自动变量被创建,这意味着当对象出了作用域时也会自动销毁。而当你使用new Object()这种方式时,对象所拥有的内存是动态分配的,这表示直到你调用delete()方法对象才会被销毁,否则一直存在。当需要用动态分配内存来处理时,你应该只使用动态分配的方式原创 2015-08-11 12:09:15 · 4373 阅读 · 0 评论 -
Google的C++开源代码项目
v8 - V8 JavaScript EngineV8 是 Google 的开源 JavaScript 引擎。V8 采用 C++ 编写,可在谷歌浏览器(来自 Google 的开源浏览器)中使用。V8 根据 ECMA-262 第三版中的说明使用 ECMAScript,并在使用 IA-32 或 ARM 处理器的 Windows XP 和 Vista、Mac OS X 10.5 (L原创 2015-04-11 20:29:22 · 1401 阅读 · 0 评论 -
svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted
今天svn提交,出现异常:svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted百度后,大多解决办法:team--> Refresh/Cleanup会出现异常:SVN: org.apache.subversion.javahl.原创 2015-03-31 16:13:10 · 2555 阅读 · 0 评论 -
CString 按想法把字符串分为2半
CString strScale; strScale.Format(_T("1:%d"),m_pBlock->GetBlkScale()); int iIndex=strTitle.ReverseFind(_T('|')); if(iIndex> -1) { CString str1,str2; str1=strTitle.Mid(0,iIndex); str1 = L"1/原创 2014-08-04 17:17:57 · 1022 阅读 · 0 评论 -
MFC 程序的执行流程
CWinApp::InitApplicationCMyWinApp::InitInstanceCMyFrameWnd::CMyFrameWndCFrameWnd::CreateCWnd::CreateExCFrameWnd::PreCreateWindowCWinApp::RunCWinThread::Run原创 2014-07-18 16:28:11 · 1167 阅读 · 0 评论 -
floor() 和 ceil()函数
在C语言的库函数中,floor函数的语法如下:#include double floor( double arg );功能: 函数返回参数不大于arg的最大整数。例如,x = 6.04;y = floor( x );y的值为6.0.与floor函数对应的是ceil函数,即上取整函数。有趣的是,floor在英文中是地板的意思,而ceil是天花板的意思,很形象地描述了下原创 2014-04-28 21:06:25 · 3582 阅读 · 0 评论 -
stable_sort() 和 sort() 的区别
1.stable_sort 和 sort的区别在于 前者作排序可以使原来的"相同"的值在序列中的相对位置不变如 1 4 6 7 4' (4 和 4'值相等,加上' 表示是2个元素)那么stable_sort能保证排序完 4 仍然在4' 前 也就是输出1 4 4' 6 7;但是sort 没有这个功能,算法不能保证这一点2.在标准算法中的一部分算法 如果这个算法默认使用的是原创 2014-04-28 20:15:22 · 5747 阅读 · 0 评论 -
C++程序中应加入STL、运算和字符串的头文件
#include //模板类complex的标准头文件#include //模板类valarray的标准头文件#include //数学头文件#include //模板类输入输出流标准头文件#include #include #include #include #include #include #include #include #include #in原创 2014-04-24 09:02:47 · 1902 阅读 · 0 评论 -
数据类的设计
**info.h#pragma once_MB_DATABASE_BEGINclass MB_DATABASE_EXT CBeamSection:public CSection{public: CBeamSection(); CBeamSection(const CBeamSection* pBeamSection); virtual ~CBeamSection(void);原创 2014-04-22 08:53:37 · 1164 阅读 · 0 评论 -
STL 的容器的清除模板 clear.h
#pragma once#include "GeometricMacro.h"#include "GeometricEnum.h"#include "McGePoint2d.h"_GEOMETRIC_BEGINtemplate inline bool clearvct(std::vector& vctVal){ for(std::vector::iterator p=vctVa原创 2014-04-21 17:34:42 · 1282 阅读 · 0 评论 -
关于程序里的一些基本的“断言”和“序列化”的预处理定义
**macro.h#pragma once#ifdef MHBQ#define MITC_HBQ_EXT __declspec(dllexport)#else#define MITC_HBQ_EXT __declspec(dllimport)#endif#define _MITC_HBQ_BEGIN namespace MHbq {#define _MITC_HB原创 2014-04-21 17:20:24 · 1193 阅读 · 0 评论 -
map的用法举例: 按属性实现数据分组
IBridgeSteel* steel;_ASSERTE_RT(steel); vector steelVct;std::map > m_mapSteelVct;std::map >::iterator p= m_mapSteelVct.find(steel->GetSteelType());//寻找索引BridgeSteelTypeif(p!=m_mapSteelVct.end())/原创 2014-03-30 16:46:57 · 2451 阅读 · 0 评论 -
从double转 Cstring 的自动消零函数
CString GetFormatStr(double dNumber,int maxPrecision, BOOL bZeroClear){ CString strFormat; if(maxPrecision<0) { return strFormat; } else if (maxPrecision > 6) { maxPrecision = 6; } strFo原创 2014-03-12 11:33:51 · 2172 阅读 · 0 评论 -
《高效学习OpenGL》 之 深度纹理
1.从光源的角度对场景进行渲染。场景看上去是什么样子无关紧要,只需要深度值,然后创建阴影图,也就是捕捉深度缓冲区的值,并把他们存储在一个纹理图像(即阴影图)中2.生成纹理坐标,其中(s, t)坐标引用阴影图中的位置,第三个纹理坐标r则表示与光源的距离,然后再次绘制场景,把每个片段的r值与深度纹理值进行比较,以确定这个片段是被光所照射还是被阴影笼罩原创 2014-03-02 10:24:54 · 3867 阅读 · 0 评论 -
《高效学习OpenGL》 之 多重纹理 glActiveTexture(),glMultiTexCoord2f(),glClientActiveTexture()
多重纹理处理管线:1.建设纹理单位纹理单位的纹理状态:纹理图像,过滤参数,纹理环境应用,纹理坐标的自动生成,顶点数组的指定。 void glActiveTexture(GLenum texUnit); //选择可以由纹理函数进行修改的当前纹理单位, //texUnit是一个符号常量,其形式为GL_TEXTUREi,其中i的范围是从0到k-1,k是纹理单位的最大数原创 2014-03-02 08:34:11 · 8746 阅读 · 0 评论 -
C++游戏开发需要阅读的书籍
如果要自学游戏程序开发的话,可以看看下面的,呵呵。 游戏开发资料(PDF书都是中文版的,非英文,很多是本人自己扫描制作,从未网上发布过,所以独家啦): 1、Gamebryo 2.2游戏引擎(盛大、腾讯等公司制作网络游戏常用)+Gamebryo v2.2.1说明文档 2、游戏PDF书及其代码: 3D游戏编程、3D游戏编程大师技巧、Direct3D游戏编程入门教程第2版、Dir转载 2014-02-17 16:07:40 · 1767 阅读 · 0 评论 -
VC++能做些什么?
VC基于C,C++语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在 Windows平台无所不能。 最大缺点是开发效率不高。 VC适用范围 1、 VC主要是针对Windows系统,适合一些系统级的开发,可以方便实现一些底层 的调用。在VC里边嵌入汇编语言很简单。2、 VC主要用在驱动程序开发 3、 V原创 2014-02-17 15:14:23 · 3113 阅读 · 0 评论 -
《人脉是设计出来的》 读书笔记
1.想要真正得到认可,聊天的方法就要有技巧,既然聊天的目的是晋升,聊天的过程就要服务于这个目的,要让自己敢于和同事分享各种有用信息和工作心得,互相交流工作经验。例如,你不要把自己对工作好的理解藏着。拿出来,很随意地向同事表达,创收,在工作方面给予他人实际性帮助,会给自己造势。2. 例如,当你满足不了他人需求的时候,就想办法给别人创造需求。 如,当你的客户日理万机,无心照管自己健康的时候,你就多原创 2014-02-15 08:33:04 · 1850 阅读 · 1 评论 -
《高效学习OpenGL》之强制完成绘图操作 glColor3f() , glFlush(),glFinish(), glViewport(), gluOrtho2D()
glFlush ();//强制绘图命令开始执行,保证他们在有限时间内完成 glFinish();//强制绘图命令开始执行,在命令完成之前函数不返回 glColor3f (1.0, 1.0, 1.0);//指定绘制颜色原创 2014-02-15 06:51:28 · 2772 阅读 · 0 评论 -
WS_CLIPCHILDREN与WS_CLIPSIBLINGS 收藏
http://blog.163.com/sandylin_wind/blog/static/935500552008105104617806/英文单词解释clip:夹子、子弹夹、回形针;夹住,修剪sibling:同胞兄弟或姐妹overlapped:重叠这两个Window Stype的特性与异同素来不太清楚,今日作一笔记:MSDN的解释为:WS_CLIPC转载 2014-01-22 09:51:23 · 1142 阅读 · 0 评论 -
MFC Cstring ,double 互换
|字号 订阅_ttoi: 例: double a; CString str; a = _ttoi(str); //取整 a = _tstof(str); //保留小数位str.Format(_T("%g"),a); %g省略末尾0;原创 2013-12-12 20:03:24 · 1373 阅读 · 0 评论 -
CString截取字符串全攻略
CString截取字符串全攻略 例程1:(csdn) 文件xxxx.dll去掉后面的.dll 方法1、 char str[] = "xxxx.dll" char*p; p=strrchr(str, '.'); *p = 0; 方法2、 CString str="xxxx.dll"; int n = str.ReverseFind('原创 2013-12-02 10:47:38 · 2187 阅读 · 0 评论 -
CString.Format的详细用法
CString.Format的详细用法在MFC程序中,使用CString来处理字符串是一个很不错的选择。CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串。CString的Format方法给我们进行字符串的转换带来了很大的方便,比如常见的int、float和double这些数字类型转换为CString字符串只需一行代码就可以实现。 先看看F原创 2013-12-02 10:13:44 · 1318 阅读 · 0 评论 -
如何使标注与所标直线平行
double dbAngle = ptBegin.GetPoint().GetAngle(ptEnd.GetPoint()); // 线段的角度McGeVector2d verVert = McGeVector2d(cos(dAngle), sin(dAngle)).GetVerticalUnit(); //偏移的方向if (VerAlign == mcVerticalAlignmentTop){原创 2013-07-30 11:37:23 · 1693 阅读 · 0 评论