http://blog.sina.com.cn/mody[订阅][手机订阅]
个人资料
个人资料
姓名:Mody tansa
职业:软件测试工程师。
专业:软件测试。
性别:男。
年龄:24
位置:中国,首都,北京
最爱:read,music,net。
邮箱:zhou-shikui@163.com
****************************
个性介绍:
简单,完整,幻想,独力.
 
处世箴言::
If I think I can I can!
 
想说的话:
爱上你的微笑
我神魂颠倒
不敢看你眼里的那眼神
怎么办才好
冻结那时间
冻结有你的瞬间
冻结这爱恋
可以吗
**************************
图片幻灯
访客
读取中...
好友
读取中...
博客风雨记时
背景音乐
:

新闻
PC新闻-北京
 
博文

我的博友们,抱歉这么久时间没更新博客,是因为我一直都在Q-Zone上做更新,因为方便,所以如果大家还有想交我这个朋友的,请到以下链接 谢谢,也可以加我为好友。

http://55938264.qzone.qq.com

 问题内容:typedef的四个用途和两个陷阱

 审核组:C/C++

 

之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。
   好了,进入正题………
首先,为了在我们的程序中使用string类型,我们必须包含头文件 。如下:
   #include //注意这里不是string.h string.h是C字符串头文件

1.声明一个C++字符串
声明一个字符串变量很简单:
   string Str;
这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str初始化为一个空字符串。String类的构造函数和析构函数如下:
a)    string s;  //生成一个空字符串s
b)    string s(str) //拷贝构造函数 生成str的复制品
c)    string s(str,stridx) //将字符串s

basic_string::max_size
返回string 能放的最大元素个数。(不同于capacity)
size _ type max _ size( ) const;
basic_string <char>::size_type cap, max;
cap = s.capacity ( );
max = s.max_size ( ); // max=4294967294.
basic_string::rfind
寻找给定的string。返回找到的第一个string 下标值;如果没找到则返回npos。
与find 不同的是:rfind 默认从npos 开始找。其他相同。
basic_string::replace
将原string 中的元素或子串替换。返回替换后的string。
(1)用string 或C-string 代替操作string 中从 _Pos1 开始的 _Num1 个字符
basic _ string& replace( size _ type _Pos1 ,size _ type _Num1 , const value _ type* _Ptr );
basic _ string& replace(size _ type _Pos1 ,size _ type _Num1 ,const basic _ string _Str );
string a,b;
string s ( 'AAAAAAAA' );
string s1p ( 'BBB' );
const char* cs1p = 'CCC' ;
a = s.replace ( 1 , 3 , s1p ); // s= ” ABBBAAAA ”
b = s.replace ( 5 , 3 , cs1p ); // s= ” ABBBACC

 

basic_string::compare
如果所比较的两个string 相等,则返回0; 操作string 大于参数string,返回
正数;操作string 小于参数string,返回负数。
(1) 比较操作string 与 _Str 或C-string _Ptr
int 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 中 _Pos1 ( 下标)开始的 _Num1 个字符 与 C-string _Ptr
比较操作string 中 Pos1 ( 下标)开始的 Num1 个字符 与 Str 中 Off ( 下标)开始 Count 个字

int compare( size _ type _Pos1 , size _ type _Num1 , const basic _ string& _Str );
int compare( size _ type _Pos1 , size _ type _Num1 , const value _ type* _Ptr ) const;
int compare( size _ type _Pos1 , size _ type _Num1 , const basic _ string& _Str ,
size _ type _Off , size _ type _Count );
int com1 = s.compare ( 2 , 3 , sp );
int com2 = s.com

basic_string::append
向string 的后面加字符或字符串。(比+=, push_back 更灵活)
(1) 向string 的后面加C-string
basic _ string& append( const value _ type* _Ptr );
string s ( 'Hello ' ); // s= ” Hello ”
const char *c = 'Out There ';
s.append ( c ); // s= ” Hello Out There ”
(2) 向string 的后面加C-string 的一部分
basic _ string& append( const value _ type* _Ptr , size _ type _Count );
string s ( 'Hello ' ); // s= ” Hello ”
const char *c = 'Out There ';
s.append ( c , 3 ); // s= ” Hello Out ”
(3) 向string 的后面加string(有两种方法)
basic _ string& append( const basic _ string& _Str );
string s1 ( 'Hello ' ), s2 ( 'Wide ' ), s3( 'World ' );
s1.append ( s2 ); // s1= ” Hello Wide ”
s1 += s3; // s1= ” Hello Wide World ”
(4) 向string 的后面加string 的一部分 ---A
basic _ string& append( const basic _ string& _Str , size _ type _Off ,
size _ type _

  前言: string 的角色
1 string 使用
1.1 充分使用string 操作符
1.2 眼花缭乱的string find 函数
1.3 string insert, replace, erase 2 string 和 C风格字符串
3 string 和 Charactor Traits
4 string 建议
5 小结
6 附录前言: string 的角色

C++ 语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者C++,为什么?原因众多,其中之一就是C/C++的文本处理功能太麻烦,用起来很不方便。以前没有接触过其他语言时,每当别人这么说,我总是不屑一顾,认为他们根本就没有领会C++的精华,或者不太懂C++,现在我接触perl, php, 和Shell脚本以后,开始理解了以前为什么有人说C++文本处理不方便了

忙。。。。。。。。(2007-11-03 15:54)
 感觉忙是好事吗?
很多人都说忙是好事,充实,不会空虚,然而我却觉不出来,近两个越来都是在忙,忙里忙外,忙工作,忙生活,还的忙忙那个为成形和已经很久的家。感觉一切就是一个字:累,好像好久没有给给自己假了,呵呵好像是的。
一闲下来就有种感觉,感觉不知道做什么,去玩 还是去喝酒?我想我更想去大醉一场,但是想到明天,就又忍住了,明天还有工作。
刚刚毕业的我也许还不能更好的把握生活节奏,总是觉得生活太累,生活太乱,生活很糟。无法把握也无法随它而去只好亲历亲为做一点算一点,事情是不是一定能越来越好,刚刚毕业时候总想着的那句“一切总会越来越好”现在好像不太对了。。。。
……1.汽车污染,毛驴环保。汽车有欧i、欧ii、欧iii,国家规定过毛驴的排放要达到什么标准,非要在毛驴的屁股上挂一个净化器吗?
  2.买毛驴可以保值增值,汽车只能贬值。根据联合国的报告,机械类产品的总趋势是不断降价,而农副产品的总趋势是不断涨价。毛驴上世纪70年代100元一头,80年代500元一头,90年代
 各位先在这里给各位倒声歉啊,本人因为最近来到了北京而一无着落而无经济来源所以直到现在才算安稳,来跟大家碰个头。呵呵
 之所以写这个标题确实是有根据的啊 。。
 我来北京只有几天还没有深入了解。所以意见有限也很直接。
  北京人最爱干的两件事。(劳苦大众啊 ,不是那些大款之类的)
     1.算帐,在北京你去银行总没有空的时候,以前在常常总喜欢去银行的柜台取钱,那里明白还有就是安全,但是在北京你就 别想了,你总不能为了取几百而等1.2个小时啊。经常你会在大街上看到有人拿笔记本在算东西。有人在公车上算。那里都能看到 。究其原因是 什么?是北京的物价,在全国物价大上涨的背景下北京不能不涨,而且有的领域涨的 更凶。北京的消费水平以此高度再度拔高,到了底层人士得拼命的地步,精打细算很显然是个好办法。。。
    2.学习,“北京是个文化气氛十分浓郁的城市”,这是一份北京的报纸称赞北京的话。我深以为然,但是细细的品味一下其中缘由,就不太是那么回事了 。为什么要学习,说是工作需要,为什么工作需要的都学够了