2014年2月12日
摘要: 强调一点:socket 、 udp 、 tcp之间的区别。socket只是一种套接字,就是两台电脑两端的东西,中间传输以流的格式进行。IBEO好像是TCP/IP ,无论对于TCP和UDP,数据都是以帧的形式,打包传输的数据量大的情况,会多传几个包能否在短时间内发送完,取决于带宽。也就是说,带宽越大,它在网络中进行传输的时间几乎可以忽略。费得时间主要在数据解压这块,能否实时的解压,清空缓冲区,使得积压变小,这才是关键所在。我们所说的UDP与TCP传64KB,是讲,他的每一包,或者说他的每一帧所最大携带的信息为64KB。就是说,一次所能携带的东西的数量。可以认为是 工作量 ,然后工作速率为 10. 阅读全文
posted @ 2014-02-12 16:45 zhuxuekui3 阅读(252) 评论(0) 推荐(0) 编辑
  2014年1月19日
摘要: 二进制文件就是把内存中的数据保存在硬盘中,是内存数据的映射。文本文件就是字符串文件。通常二进制文件打开是一堆乱码,因为记事本程序试图用字符串的方式打开,看到就是乱码。例如你写个程序,int a=10;把a写入文件,用二进制文件保存,大小为4个字节(int的大小),用文本文件保存,大小为2个字节,因为'1','0'有两个字符。其实说白了,都是流式文件。流式文件有很多种, 比如说 屏幕可以认为是输出流。键盘可认为是输入流。鼠标,打印机,等等都是流。文件操作有几个小的函数,比如说文件使用方式 意义 “rt” 只读打开一个文本文件,只允许读数据 “wt” 只写打开或建立 阅读全文
posted @ 2014-01-19 23:34 zhuxuekui3 阅读(485) 评论(0) 推荐(0) 编辑
  2014年1月17日
摘要: 文件读写操作注:下面仅是一个实例,没有实际意义,原则上就是用了,整体的思想,整片整片的读写。实际应用中,不太好。不建议用这种结构。 1: // FileOperation.cpp : 定义控制台应用程序的入口点。 2: // 3: 4: #include "stdafx.h" 5: #include 6: #include 7: #include 8: #define MaxSize 100 9: using namespace std; 10: 11: 12: typedef struct RaderInfor ... 阅读全文
posted @ 2014-01-17 23:54 zhuxuekui3 阅读(262) 评论(0) 推荐(0) 编辑
摘要: vector能向数组下标那样使用吗,答: 可以比如我用定义vectors;能用s[i]进行运算或者s[i]==s[i+1]吗?答: 可以从函数中返回vector最高效的是采用引用参数的方式 比如你定义一个函数:void fun(vector& vi) // 参数定义为引用{在这里给vi赋值}void main(){ vector s; fun(s);// 调用函数返回数据到s}因为迭代器与容器是分离的,可以通过迭代器来操控容器里面的元素,但不能通过迭代器来操控容器。所以当容器内部发生变化,容器并不通知迭代器发生了什么变化(他们是分离的),所以当发生变化后,迭代器就失效了。而容器何时会发 阅读全文
posted @ 2014-01-17 01:17 zhuxuekui3 阅读(414) 评论(0) 推荐(0) 编辑
  2014年1月16日
摘要: 说简单的就是C里面的强制类型转换,只不过C++里面为了类型安全而这么做的。主要用于 基类与继承类之间。C写多了,类型一般都强转,特别是指针。int * a;void * b = (void*)a;char * c = (char*)b;C++里的_cast结尾的还有另外两个,就是干类似活的,据说是为了类型安全,某些条件下会转换失败。eg:dynamic_cast用于多态性的父子类型对象的指针或引用之间。class A {public: virtual ~A (void) {}};class B : public A {};class C : public B {};int main (v... 阅读全文
posted @ 2014-01-16 22:56 zhuxuekui3 阅读(308) 评论(0) 推荐(0) 编辑
  2014年1月14日
摘要: 1.实验用例如下图所示的赋权图表示某七个城市及预先算出它们之间的一些直接通信成路造价(单位:万元),试给出一个设计方案,使得各城市之间既能够通信又使总造价最小并计算其最小值.2实验原理和方法为了求解最小代价,使花费的总代价最小,这是数学中经典的求解最小耗费生成树的算法。其核心思想是寻找每一步的最优解继而求得全局最优解。为了求得最小耗费生成树,我们运用数学中经典的Krusal算法,此算法的核心思想是:1、 假设该图G是不连通的,对该图的边以非降序权重新排列。2、 对于排序表中的每条边,如果现在把它放入T不会形成回路的话,则把它加入到生成树T中;否则丢弃。(找到两个最小的。可以遍历)3、 输出最小 阅读全文
posted @ 2014-01-14 21:49 zhuxuekui3 阅读(963) 评论(0) 推荐(0) 编辑
  2014年1月13日
摘要: 说白了就是三个函数的使用:SetTimer(20, 20, 0); //第一个20表示此定时器的标识符,第二个20表示你要定的时间,第三个不用管,设0即可。void CLMS511_interfaceDlg::OnTimer(UINT_PTR nIDEvent){ // TODO: Add your message handler code here and/or call default if(nIDEvent == 20) //这个20是第一个20. { DrawData(); if(MySSocket.StopFlag) SendServer(); } CDialog::OnTimer. 阅读全文
posted @ 2014-01-13 18:10 zhuxuekui3 阅读(23898) 评论(0) 推荐(0) 编辑
摘要: 直接粘代码: 1: CString str1; //定义两个MFC里面的CString里面的字符串 2: CString str2; 3: str1.Format("(%d)",matrix.Num); //将str1格式化为此种结构,这句话等于 str1 = “变量”。用他来将某个数据类型转换为字符串类型。 //和那种 IntToString()有几分相似。 4: str2 = str2 + str1; 5: for(int i =... 阅读全文
posted @ 2014-01-13 17:00 zhuxuekui3 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 我定义一个:typedef struct Point { uint x; uint y; uchar value; uchar U; } Point; typedef struct Matrix { int Num; Point* point;} Matrix;然后Matrix matrix;sizeof(matrix);matrix.point = new Point[2];然后sizeof(matrix);前后大小一致,也就是说,我自始至终都无法准确的标识一个对象的长度。也可以这么理解,他的对象里面的长度在另一个对象里面。两... 阅读全文
posted @ 2014-01-13 13:02 zhuxuekui3 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 头文件:#include然后,声明并初始化vctor数组。vector str(len);其中len可以是变量或者常量。(其实用常量就没有什么意义了)。而且此vector容器已经将str 初始化过了。我们完全没必要自己在memset(&str[0],0,str.size()).注:vector的内存是连续的,可以用memcpy,保证够长就行。 vector data(1024); char buf[1024]; memcpy((char*)&data[0], buf, data.size());其中,为什么一定要这么写(char*)&data[0] 才能用memcpy呢 阅读全文
posted @ 2014-01-13 12:25 zhuxuekui3 阅读(1724) 评论(0) 推荐(0) 编辑