c++
文章平均质量分 61
简单但不平凡
这个作者很懒,什么都没留下…
展开
-
c++中常量 常对象
数据的封装实现了数据的隐藏,让数据更安全,但是前面讲到的通过局部变量、全局变量、类的数据成员、类的静态成员及友元实现了数据的共享,这样又降低了数据的安全性。有些数据是需要共享而又不能被改变的,那么这时候我们就要将其声明为常量。 就像前面讲到的简单数据类型的符号常量,我们也可以用const声明对象,叫做常对象。鸡啄米这一讲就给大家讲讲常引用、常对象和对象的常指针,另外还有常数组和转载 2016-01-22 14:48:45 · 659 阅读 · 1 评论 -
c++对编码格式ANSI utf8 unicode 进行转换
Windows下有很多种编码格式,在与别的系统环境中有文件传输或通信时,这些编码就很重要。比如在windows中换行是\r\n 在linux或mac下是\n,如果不对编码进行转换就会出现乱码。在通信中一般会有ASCII码和二进制码传输,如果是用二进制码在不同的系统环境中进行数据传输,在解析数据时必须进行转换,否则可能会出现数据错误。Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以原创 2017-06-20 17:49:38 · 9559 阅读 · 4 评论 -
c++ 用socket实现TCPIP通信
TCPIP很方便实现局域网或外网的通信,分客户端和服务端,其实也可以把客户端和服务端写到一起,既可以做服务也可以做客户端,基本流程就是,服务监听一个端口,收到客户端的链接请求以后,链接通信就行了通信模式分为UDP和TCP 就是广播和定点通信,UDP模式不管收没收到 只管把信息发出去,TCP是稳定的 固定的通信具体用法和实现可以自己去查查,这次用到的是TCP模式。TCP也有长连接短链接原创 2017-05-29 18:43:01 · 4485 阅读 · 2 评论 -
c++ 实现FTP的上传和下载
好久没整理过博客了,整理下最近杂七杂八的东西前段时间用到FTP的上传下载,网上有很多封装好的库,有的功能很多,有的很精简。大家找适合自己项目的就好了这次我用的都是基本功能,时间也紧加上自己也懒得具体写,就找了个用。中间遇到一个很好的库POCO,但是太大了我没必要用这么大的,但是这个库很好,值得看看,说明文档非常详细至于怎么建FTP服务器,很简单,随便搜一下都可以找到,就不说了。原创 2017-05-29 17:59:49 · 12906 阅读 · 1 评论 -
多线程编程时临界区、互斥量、信号量和事件的差异
一、临界区和互斥量可是视为相同的类型,区别是临界区只能用于进程内,而互斥量可用于不同进程中不不同线程。对这两个对象理解的关键是:线程串行化。或是通俗的说为:对临界区和互斥量段内协调代码的执行,要求所有线程排队通过。相对高并发的多线程和协调代码执行时间较长的情况来说,效率最低。为什么效率低是因为系统为线程分配CPU时间片时,如果此线程要求进入临界区或互斥量但已有线程在使用,那么它将被挂起。而原创 2016-10-12 18:55:52 · 975 阅读 · 0 评论 -
c++使用gsoap访问webservice
之前介绍一下用web引用访问webservice,比较简单 ,使用的也比较多,现在介绍一个使用gsoap工具来访问,比较老的技术了,动态访问比较灵活,个求所需吧。其实这两种方法最底层的工作都不需要我们做,都是使用代理类来实现通信 收发的,只不过就是gsoap暴露的更多一些,web引用封装的更严实一点1、首先要去下载一个gsoap工具 地址 http://sourceforge.net/proj原创 2016-09-21 17:05:03 · 986 阅读 · 0 评论 -
关于c++用web引用访问webservice
前段时间由于工作需要,需要用c++创建dll 供其他程序通过dll调用webservice服务 ,现在抽空总结一下方法及注意的问题。至于怎么创建webservice服务以及发布 和IIS设置的相关问题 网上也有很多资料 我的另外两篇博客中也有相关介绍,不再赘述。c++访问webservice有很多方法,各种方法也各有利弊,比较常用的就是web引用,比较方便,如果调用的服务地址需要经常改原创 2016-09-21 16:10:40 · 3372 阅读 · 0 评论 -
指针常量和常量指针
我们可以声明指向常量的指针,这时候指针本身的值可以改变,也就是指针可以指向其他对象,但是我们不能通过指针改变它指向的值。在C/C++中,常量指针是这样声明的:1)const int *p;2)int const *p;const在*之前。例如: const char *name="Tom"; //指向常量的指针 //如果定义为 cha原创 2016-03-28 19:40:30 · 244 阅读 · 0 评论 -
字符数组与字符指针
1.字符指针可以指向一个字符串。我们可以用字符串常量对字符指针进行初始化。例如,有说明语句:char *str = "This is a string.";是对字符指针进行初始化。此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址。这里要注意字符指针与字符数组之间的区别。例如,有说明语句:char string[ ]="This is a string.";原创 2016-03-28 19:27:21 · 298 阅读 · 0 评论 -
动态插入窗口控件 句柄到cwnd转换
一、动态创建一个list控件1、在头文件中声明一个对象CWnd m_list;2、在函数体中创建控件m_list.CreateEx(WS_EX_CLIENTEDGE,"SysListViEW32",NULL,WS_VISIBLE|WS_CHILD,CRect(10,35,300,300),this,8921);二、句柄转换为CWndHWND hWnd=::GetD原创 2016-03-25 17:29:16 · 971 阅读 · 0 评论 -
PTCHAR、LPSTR、LPCSTR、PSTR等的区别
CHAR 存放单个字符WCHAR 存放双字符TCHAR 与WCHAR无异PTCHAR 指向双字符类型字符串LPSTR 一个32位的指向字符串的指针 LPCSTR 一个32位的指向字符串常量的指针 LPWSTR 一个32位的指向unicode字符串的指针 LPCWSTR 一个32原创 2016-03-25 10:40:40 · 5162 阅读 · 0 评论 -
vc中的变量命名规范
变量类型整型 int (4字节), short (2字节), long (4字节)实型 float (4字节), double (8字节)字符型 char (1字节), wchar_t (2字节)布尔类型 bool (1字节)定义形式形式(以整形为例) 说明 int i转载 2016-03-25 10:22:28 · 797 阅读 · 0 评论 -
类的继承 保护继承和私有继承
一.保护继承 在保护继承方式中,基类的公有成员和保护成员被派生类继承后变成派生类的保护成员,而基类的私有成员在派生类中不能访问。因为基类的公有成员和保护成员在派生类中都成了保护成员,所以派生类的新增成员可以直接访问基类的公有成员和保护成员,而派生类的对象不能访问它们,上一讲鸡啄米说过,类的对象也是处于类外的,不能访问类的保护成员。对基类的私有成员,派生类的新增成员函数和派生类对转载 2016-01-25 15:15:58 · 1868 阅读 · 0 评论 -
指向非静态成员指针和指向静态成员指针
指向类的非静态成员的指针 类的成员都是变量、对象、函数等,我们同样可以定义存放它们的地址的指针,从而使指针指向对象的成员,通过指针就可以访问对象的成员了。但是通过这种指向成员的指针一样也只能访问公有成员。 声明指向非静态成员的指针的语法形式为: 类型说明符 类名::*指针名; // 声明指向公有数据成转载 2016-01-22 19:32:36 · 733 阅读 · 0 评论 -
动态内存分配和释放
动态内存分配最常见的就是用来分配一个某类型的数组。我们可以使用数组来处理大量的数据,但实际上很多情况下我们并不知道此数组会有多少个元素,所以在定义数组时到底定义多大的数组就要仔细考虑下了。比如,我们要对输入的若干个数进行分析,得出所有的正数存到一个数组里以备他用,这个正数数组应该定义多大呢?如果大了可能会造成内存的浪费,如果小了可能会出现数组越界的情况。这种情况下比较理想的是判断全部数据里有多少个转载 2016-01-22 19:30:40 · 870 阅读 · 0 评论 -
解析HL7协议
前段时间一个项目中用到了HL7协议,这个协议一般只用在医院的项目中。不与医院合作的一般还都不知道,我自己刚接触这个的时候也是一脸的懵逼,其实仔细看看就能看出点门道,主要是协议,肯定都是有一定标准的。HL7也一样,好像是美国发明的,具体我也不说了,有兴趣的同学可以去看看背景什么的。我们只知道怎么用就行了。毕竟就是个协议。网络传输协议可以分为好多层,物理层、网络层、数据链接层、应用层等。如果有做过工控原创 2017-06-20 20:37:54 · 37699 阅读 · 6 评论