随笔分类 - C++
1
摘要:linux下的线程编程涉及到了pthread_create,但是在平常周末家中练习使用,不想打开虚拟机,也不太想使用boost库带的多线程。这个时候就得在vc2012下使用pthread的了。。 搭建的步骤如下: (1)下载pthreads-w32-2-9-1-release.zip文件 (2)项目
阅读全文
摘要:之前我发的帖子有说到"multipart/form-data"进行表单的传输文件的时候的编写;多数情况下上传文件是成功的,但是还是会出现传失败的问题! 出现这种情况,我用客户(运营商)提供的demo(java)代码跑是可以的,但是我C++写的却不行,后面只能抓包来看下上传的数据有啥不同的了,后面发现
阅读全文
摘要:(1) 由于最近要做个计算器,就涉及到浮点数的操作。但由于很久没有用,有点生疏了!因为是要对浮点数为零的判断,这边就记录下来一下: 网上有说判断一个浮点数是否为零,是这样来处理的: float f1=0.000001; if(fabs(f1) <= 1e-6) { cout<<"the f1 is
阅读全文
摘要:一:linux下遍历目录 void travedir(const char *dir_path,vector<string> &vfilename) //dir_path是传入的目录 ,vcfilename存储扫描到的文件{ struct dirent *pdirent; char file_pat
阅读全文
摘要:这2天有个项目,涉及到要将数据进行sha1加密后发送给客户的服务器上,但是经常会概率性出现加密生成的密文和客户的匹配不上(因为客户服务端也会将接收到的数据进行加密匹配)。经过分析,是公用的sha1的实现出了问题,对要加密的字符串太长时,sha1加会出现错误。加密生成的验证可以找在线的sha1进行比较
阅读全文
摘要:近期有个项目,要从ftp上下载txt文件下来,因为txt文件有我这边项目所需要的报告,但是我在本机上运行却能从客户的ftp上能拉取下来(我的电脑为WIN10),但是到了线上的环境却下了。 开始的时候,我是觉得路径的问题,然后把取的路径更改为 strFtpDirTmp += _T("\\*.txt")
阅读全文
摘要:前几天要做数据库的入库测试,之前都是去过sql语句来插入的,目前全部换成走存储过程的形式来把数据插入到数据库。 因为程序是VC下的程序,使用VC的ODBC编程。ODBC的编程网上有很多,自行找。但是写好的程序,要把数据插入到远程机子的数据库,这时候在本机运行的VC程序就要先配好ODBC的配置。如下图
阅读全文
摘要:这两天做个项目,使用http协议,之前也带有文件的上传,但是之前都把文件经过base64加密后,文件数据和要发送的数据拼在一块上传;http协议头的Content-Type: text/json,也就是将数据组成一个json串发送出去。(PS,json是如下的类型的数据{“name":"dyt",
阅读全文
摘要:一: C++11引入了正则表达式之后,处理文本这块带来了很多的方便。先说下2个常用的函数。 (1)regex_search:在整个字符串中匹配到符合正则表达式规则中的一部分就返回true,也就是子串; (2)regex_match:在整个字符串中匹配到符合整个表达式的整个字符串时返回true,也就是
阅读全文
摘要:在启动程序或者服务器时,都要读取些配置文件,windows有自带的WritePrivateProfileString可以将配置信息写入ini文件;但是跨平台的话,还是用boost的比较好。 如果配置文件名为test.ini,里面的配置信息如下: [command] host = 127.0.0.1
阅读全文
摘要:最近在处理个工具的开发,里面有涉及到读取出文件的所有的手机号码,然后读到的所有号码都存到了一个string类型中,每个号码都有" ,"来分隔,我这边需要把这个字符串的号码全部提出来 ,这样的话就涉及到字符串的简单抓 分了,实现如下: std::vector<std::string> SplitMob
阅读全文
摘要:由于C++编程中,经常用到多线程编程。这样的话就得用到锁,因此就把锁的操作封装到一个类中,实现如下: #include <pthread.h> typedef pthread_mutex_t CRITICAL_SECTION; class LockBase { public: LockBase();
阅读全文
摘要:一: 首先弄懂前置++和后置++的概念先。 int m1=10; int m2=10; cout<<++m1<<endl; //输出为11,++符号放在变量的前面,这个叫前置++ cout<<m2++<<endl; //输出为10,++符号放在变量的后面,这个叫后置++ 二: 现在对运算符++重载
阅读全文
摘要:本人30有余,从业IT行业已经有10载,经历过不少的面试和笔试。下面是整理出之前笔试和面试常见题。 (1)i++和++i有啥区别? (出现过1次) i++是先返回i,再自加; ++i是先自加,再返回i; 注:++i的效率比i++的效率要高 (面试员会问到这个) (2)写一个求数组有多少元素的宏 (出
阅读全文
摘要:一: 一般情况下,C++编写代码时,类的声明和实现是由2个文件分开来写的。 ".h"放的是类的声明,“.cpp”放的是类的实现,然后使用该类的时候,就把该类对应的“ .h ”引用上就OK的了。 但是在类模板中这样就不行。 (1) 如下: Person.h的这个文件放Person类的声明 #inclu
阅读全文
摘要:在一些笔试题中,常些要写个字符串实现的类,以下是简单的代码实现。 #include <iostream> #include <string> using namespace std; class Mystring { public: friend ostream &operator<<(ostrea
阅读全文
摘要:一: string作为C++常用的一个类,得熟悉它的一些常用的方法。在使用这个类之前,得加上头文件 #include <string> #include <stdexcept> //标准的异常类的库 二: (1)获取string的元素个数方法,还有访问string中的每个元素的方法 void tes
阅读全文
摘要:一: explicit在QT的开发中,是经常见到的关键字,现在来讲讲下这个关键字的作用。 首先,类的构造函数一般是隐式自动转换的,代码如下: class TestMy { public: TestMy() { cout<<"默认构造函数1"<<endl; } TestMy(const char *s
阅读全文
摘要:一:浅拷贝 同一个类型的对象之间可以赋值,使得两个对象的成员变量的值相同,两个对象仍然是独立的对象,这种情况被称为浅拷贝。 一般情况下,浅拷贝没有任何副作用,但是当类中有指针,并且指针指向动态分配的内存空间,析构函数做了动态内存释放的处理,会导致内存问题。 下面是浅拷贝的例子: //构造函数来初始化
阅读全文
摘要:C++98有智能指针了,但是到C++11上才大量的应用。啥为智能指针,其实智能指针就是个类,它直接来管理我们创建对象内存的释放,这样就能防止在写C++代码时,new出了一个对象,但是后面却没有delete。 智能指针为一个类的话,那么这个类就重载有指针的操作符 ” * -> “,下面是个智能指针一个
阅读全文
1