摘要: 什 么是ANSI,什么又是UNICODE呢?其实这是两种不同的编码方式标准,ANSI中的字符采用 8bit,而UNICODE中的字符采用16bit。(对于字符来说ANSI以单字节存放英文字符,以双字节存放中文等字符,而Unicode下,英文和 中文的字符都以双字节存放)Unicode码也是一种国际标准编码,采用二个字节编码,与ANSI码不兼容。目前,在网络、Windows系统和很多大型 软件中得到应用。8bit的ANSI编码只能表示256种字符,表示26个英文字母是绰绰有余的,但是表示汉字,韩国语等有着成千上万个字符的非西方字符 肯定就不够了,正是如此才引入了UNICODE标准。 在软件开发中 阅读全文
posted @ 2013-11-07 16:26 awodefeng 阅读(348) 评论(0) 推荐(0) 编辑
摘要: Handling UI Events在Android里, 有不只一种方式可以截获用户与你的应用程序交互的事件. 在你的界面上处理事件时,你需要捕获用户与某个View实例交互时所产生的事件.View类支持这种做法.在你布局时需要使用的很多View类型里,你应该注意到一些对处理UI事件很有用的公有回调方法. 当特定操作发生在一些指定对象的时候,Android系统的frmaework程序就会调用这些回调方法. 比如,当我们touch某个按钮的时候,它的onTouchEvent()方法就会被调用. 但是, 为了拦截这一过程,你必须继承某个类并且重写它的onTouchEvent()方法. 显然,这样处理 阅读全文
posted @ 2013-11-05 15:42 awodefeng 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 前言OpenGL ES是Khronos Group创建的一系列API中的一种(官方组织是:http://www.khronos.org/)。在桌面计算机上有两套标准的 3DAPI:Direct3D和OpenGL。Direct3D实际上是运行在windows操作系统上的标准3DAPI,而OpenGL则是跨平台的, 适用于Linux、多种UNIX、MAC OS X和windows。由于OpenGL得到了广范围的认可,所以,基于嵌入式的3DAPI---OpenGL ES也就应运而生。沃Phone使用的芯片高通7227,它能很好的提供对OpenGL ES的支持,了解OpenGL ES的种种特性,不仅能 阅读全文
posted @ 2013-11-01 14:45 awodefeng 阅读(824) 评论(0) 推荐(0) 编辑
摘要: 本文以List容器为例子,介绍了STL的基本内容,从容器到迭代器,再到普通函数,而且例子丰富,通俗易懂。不失为STL的入门文章,新手不容错过! 0 前言 1 定义一个list 2 使用list的成员函数push_back和push_front插入一个元素到list中 3 list的成员函数empty() 4 用for循环来处理list中的元素 5 用STL的通用算法for_each来处理list中的元素 6 用STL的通用算法count_if()来统计list中的元素个数 7 使用count_if()的一个更加复杂的函数对象。 8 使用STL通用算法find()在list中查... 阅读全文
posted @ 2013-10-29 10:14 awodefeng 阅读(359) 评论(0) 推荐(0) 编辑
摘要: Map是 STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于 这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上 的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。下面举例说明 什么是一对一的数据映射。比如一个班级中,每个学生的学号跟他的姓名就存在着一一映射的关系,这个模型用map可能轻易描述,很明显学号用int描述,姓 名用字符串描述(本篇文章 阅读全文
posted @ 2013-10-29 10:11 awodefeng 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 不多说,先看代码:[cpp] view plaincopyprint?#include#includeusingnamespacestd;intmain(){coutivec(3,8);cout::iteratoriter=ivec.begin();iter!=ivec.end();iter++){i++;cout::const_iteratorciter=ivec.begin();citer!=ivec.end();citer++){cout::iteratormin=ivec.begin()+ivec.size()/2;cout::iterator min = ivec.begin() + 阅读全文
posted @ 2013-10-26 17:42 awodefeng 阅读(257) 评论(0) 推荐(0) 编辑
摘要: erase函数的原型如下:(1)string& erase ( size_t pos = 0, size_t n = npos );(2)iterator erase ( iterator position );(3)iterator erase ( iterator first, iterator last );也就是说有三种用法:(1)erase(pos,n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符(2)erase(position);删除position处的一个字符(position是个string类型的迭代器)(3)erase(first,la 阅读全文
posted @ 2013-10-25 09:50 awodefeng 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。首先,为了在我们的程序中使用string类型,我们必须包含头文件 。如下: #include //注意这里不是string.h string.h是C字符串头文件1.声明一个C++字符串声明一个字符串变量很简单: string Str;这... 阅读全文
posted @ 2013-10-25 09:48 awodefeng 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 如果所比较的两个string 相等,则返回0; 操作string 大于参数string,返回正数;操作string 小于参数string,返回负数。(1) 比较操作string 与 _Str 或C-string _Ptrint compare( const basic _ string& _Str ) const;int compare( const value _ type* _Ptr ) const;int com = s.compare ( sp );(2) 比较操作string 中 _Pos1 ( 下标)开始的 _Num1 个字符 与 string _Str比较操作string 阅读全文
posted @ 2013-10-25 09:46 awodefeng 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC 中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不 用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准C++中string类的 使用。标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用。现将具体用法的一部分罗列如下,只起一个抛砖引玉的作用 吧,好了,废话少说,直接进入正题吧!要想使用标准C++中string类,必须要 阅读全文
posted @ 2013-10-25 09:14 awodefeng 阅读(171) 评论(0) 推荐(0) 编辑