Unicode快速指引
最近在弄的一个东西,由于一开始就没有规范好字符编码,结果遇到不少的困扰。《Windows核心编程》第一章就是讲字符编码,可见这东西的重要。于是痛定思痛,决定用UTF-8统一所有内部编码。重温了一些知识,整理出来备忘。 1,简介 Unicode学名"Universal Multiple-Octet Coded Character Set",简称UCS,是一套由国际组织维护的字符编码。UCS为现存的每一个字符都赋予一个唯一码值(code point),通常表示为U+xxxx,其中xxxx为对应的16进制码值...
简单的排序方法
#includeiostream using namespace std; #define N_NUM 5 int main() { int nbuf[N_NUM ]; int* pTemp = nbuf[0]; do { cin *pTemp; pTemp++; } while (pTemp != nbuf[N_NUM]); pTemp = nbuf[0]; int tmp; do { tmp = *pTemp; for (int i = 0; i (nbuf[N_NUM] - pTemp); i++...
C++中字符串处理函数
1、字符串长度函数strlen(参数) 解释:求出字符串中有效字符的个数,参数可以是指针、字符串、数组 例如:char aa[]="abc"; char *p=aa; strlen(aa)=strlen(p)=strlen("abc") 2、字符串比较函数strcmp()和strncmp() 解释:将两个字符串逐个进行比较,当遇到两个字符不同时便停止比较,用前面字符串中的字符与后面字符串中对应的字符进行相减,得到一个大于或小于0的字符,若返回值 为0,则字符串相等。strncmp()只比交前n个字符 格...
c++文件流基本用法
c++的文件流处理其实很简单,前提是你能够理解它。文件流本质是利用了一个buffer中间层。有点类似标准输出和标准输入一样。 c++ IO的设计保证IO效率,同时又兼顾封装性和易用性。本文将会讲述c++文件流的用法。 有错误和疏漏的地方,欢迎批评指证。 需要包含的头文件: fstream 名字空间: std 也可以试用fstream.h fstream提供了三个类,用来实现c++对文件的操作。(文件的创建,读写)。 ifstream -- 从已有的文件读 ofstream -- 向文件写内容 fstre...
sizeof运算符
本以为自己对sizeof掌握的还不错,结果还是会因为粗心大意而错误。 1)sizeof不是函数,也不是运算符,它是一个类似宏定义的特殊关键字。sizeof后面跟类型(如int)需要加括号,跟变量不需要括号。 2)int ival = 4; 计算sizeof(a)的时候,不论a的值是什么,都会被替换成sizeof(int),结果为4。 3)如果是int ival = 4; sizeof(ival = 5); 呢? 语句执行结束后,ival的值为5。和sizeof(a)一样,被替换为sizeof(int)。...
含有虚函数的类sizeof大小
01 #include iostream 02 using namespace std; 03 04 class Base1{ 05 virtual void fun1(){} 06 virtual void fun11(){} 07 public: 08 virtual ~Base1(); 09 }; 10 11 class Base2{ 12 virtual void fun2(){} 13 }; 14 15 class DerivedFromOne: public Base2 16 { 17 vi...
深入理解C/C++函数指针
笔者在开发某软件过程中遇到这样一个问题,前级模块传给我二进制数据,输入参数为 char* buffer和 int length,buffer是数据的首地址,length表示这批数据的长度。数据的特点是:长度不定,类型不定,由第一个字节(buffer[0])标识该数据的类型,共有256(28 )种可能性。我的任务是必须对每一种可能出现的数据类型都要作处理,并且我的模块包含若干个函数,在每个函数里面都要作类似的处理。若按通常做法,会写出如下代码: void MyFuntion( char* buffer,...
構造嵌入式Linux
作者:黃敦 Linux自身具備一整套工具鏈,容易自行建立嵌入式系統的開發環境和交叉運行環境,并且可以跨越嵌入式系統開發中的仿真工具(ICE)的障礙。內核的完全開放使人們可以自己設計和開發出真正的硬實時系統,軟實時系統在Linux中也容易得到實現。強大的網絡支持使得可以利用Linux的網絡協議棧將其開發成為嵌入式的TCP/IP網絡協議棧。 Linux提供了完成嵌入功能的基本內核和所需要的所有用戶界面,它是多面的。它能處理嵌入式任務和用戶界面。 一個小型的嵌入式Linux系統只需要下面三個基本元素: * 引...
Linux下的IP隧道研究(2)
摘要 在Linux中,隧道的实现主要基于两个文件new_tunnel.c和ipip.c.本文参考 在Linux中,隧道的实现主要基于两个文件new_tunnel.c和ipip.c 牐犕时Linux定义了一种新的协议类型--IPIP(IPPROTO_IPIP),与上面所说封包类型类似。 基本思路 牐犜贚inux中IP Tunnel的实现也分为两个部件:封装部件和解封部件,分别司职发送和接收。但这两个部分是在不同的层次以不同的方式实现的。封装部件是在数据链路层以虚设备的方式实现。所有源代码见 /usr/sr...
Linux下ip隧道研究(1)
摘要 由于网络的日益普及,网络的安全成为目前的热门话题。本文对隧道技术的分析,就侧重安全领域,对利用隧道技术实现Linux下的虚拟专网提出建议 由于网络的日益普及,网络的安全成为目前的热门话题。本文对隧道技术的分析,就侧重安全领域,对利用隧道技术实现Linux下的虚拟专网提出建议。 牐VPN在表面上是一种联网的方式,比起专线网络来,它具有许多优点。在VPN中,通过采用一种所谓"隧道"的技术,可以通过公共路由网络传送数据分组,例如Internet网或其他商业性网络。 牐犝饫铮专有的"隧道"类似于点到点的连...
LVS分析(下)
摘要 在之前的三篇文章中,我们介绍了集群的分布式体系结构,各大要素以及考量、设计集群的一些要点。其实仅有这些理论基础知识还远远不够。集群技术的任何一点都足以写出几本书来。重要的是,通过全面的介绍,我们能够为接下来的案例讨论打好基础 摘要 牐犜谥前的三篇文章中,我们介绍了集群的分布式体系结构,各大要素以及考量、设计集群的一些要点。其实仅有这些理论基础知识还远远不够。集群技术的任何一点都足以写出几本书来。重要的是,通过全面的介绍,我们能够为接下来的案例讨论打好基...
LVS分析(上)
摘要 主要介绍广泛使用的Linux下的集群技术――IPVS(based IP Virtual Server)也叫做LVS(Linux Virtual Server)。通过对LVS的具体分析,了解LVS在体系结构设计,技术实现细节和应用中可能遇到的一些问题的详细分析讨论,逐步掌握在Linux下实现集群系统的基本知识 问题 牐犖颐侵道,分布式计算机系统在成本、效益上的的高度可扩展性正是解决这个问题的有效思路。电子商务系统的管理员似乎遇到了这样一个的问题:纯粹的升级机器,既有性能的上限也有资金的困扰。 牐犚环...