C/C++字符串理解
来源:互联网 发布:unity3d摄像机自动缩放 编辑:程序博客网 时间:2024/06/06 03:13
1.“abcde" ,'a' 各代表什么?
答:”abcde“表示的是字符串常量,‘a'表示的是字符常量,他们都是常量,存储在常量区!!!,只是在使用时我们会经常使用这些常量给string对象进行赋值而已,但是他们并不是对象!
2.string对+的重载。
string类重载大量的+操作符,使得字符串连接很容易,其重载了与字符常量的+,与字符串常量的+,以及与string对象的+。下面举例说明:
string s1="abc";
string s2=s1+s2; //ok
string s3="def"+"ghi"; //error!!!!,"def"+"ghi"是错误的,因为字符串常量并没有定义这种+的重载!
string s4="def"+"ghi"+s1; //error!!!,计算是从左到右的,先计算”def"+"ghi",由于此种类型的+没有定义,所以计算出错
string s5=s1+"fewf"+'a'; //ok s1+"fewf"的结果是一个string对象,然后此对象又与’a'字符常量进行计算,符合重载规则。
1.C风格的字符串是以NULL为结尾的字符数组.操作符[ ],*不能操作整个字符数组,但是由于串常常要被当做一个对象来处理,为了扩充语言的对串的处理能力,有一些库文件提供了这种功能
<string.h>:
- int strlen(const char* p)
- char* strcpy(char* p,const char* q);
- char* strcat(char*p,const char* q);
- int strcmp(const char* p, const char* q);
- char* strstr(char* p,const char* q)//在p中找第一个q;
<stdio.h>:
- atoi()/atof()等字符串转换函数
<ctype.h>:
- 字符处理函数isalpha()/isupper()/toupper()等
2.“abc"是一个c风格的字符串,其内容包括3个字符和一个null结尾的终止符。其类型为const char*
2.C++中的<string>库对字符串的处理
tips:find()函数一个参数可以接受的是const char*型参数,但是传递string(”fefe“)这样的无名对象时也可以,就说明这里无名对象被隐式转换为了const char* ,相当于调用c_str()函数。
3.string类如何实现字符串转换为小写形式?
stl中是没有实现字符串大小写转换的,但是可以利用stl中的transform函数和c中的字符处理函数tolower来实习字符串小写化。
transform(s.begin(),s.end(),s.begin(),tolower);//参数时要转换的字符串的位置,转换后的目标起始位置,转换函数的指针。具体的转换方式就是遍历字符串,然后对每一个字符使用转换函数进行转换,放到目标位置。
- C/C++字符串理解
- 理解Object-C中字符串
- 深度理解C字符串与C++字符串
- 深入理解Objective-C中字符串常量
- [C语言]菜鸟的一些理解-字符串
- 黑马程序员 C语言-----字符串学习理解
- C--字符串简单理解使用之一
- C--字符串简单理解使用之sscanf
- 彻底理解C、C++、Win32与COM中的字符串
- 彻底理解C、C++、Win32与COM中的字符串
- 彻底理解C、C++、WIN32与COM中的字符串
- 彻底理解C、C++、Win32与COM中的字符串
- 彻底理解C、C++、Win32与COM中的字符串
- 彻底理解C、C++、WIN32、COM中的字符串
- 彻底理解C、C++、Win32与COM中的字符串
- 彻底理解C、C++、WIN32与COM中的字符串
- 彻底理解C、C++、Win32与COM中的字符串
- C字符串与C++字符串的深入理解
- JSON与JAVA数据的转换
- VS2008多字节与单字节问题
- A Short problem HDU4291
- ASCII码表完整版
- C#取得系统目录
- C/C++字符串理解
- Web开发之JNDI及其应用简介
- Ora-12514解决方法
- Win7无线共享批处理
- SVN用户及权限配置
- GEM5仿真器(概要)
- C语言判断文件是否存在
- 位操作基础篇之位操作全面总结
- 设计模式-Proxy代理模式