C++ 字符数组和字符串
2015-10-12 17:32
344 查看
标准类型库下 #include<string>下
初始化string对象: string s5=“hello world”;//拷贝初始化
string s6("hello world");//直接初始化
string s7(6,‘c’);// 初始化内容为:cccccc
字符串操作:
getline(is,s); 从is中读取一行赋给s,返回is
s.size();返回s中字符的个数
s.empty();s为空返回true,否则返回false
初始化string对象: string s5=“hello world”;//拷贝初始化
string s6("hello world");//直接初始化
string s7(6,‘c’);// 初始化内容为:cccccc
字符串操作:
getline(is,s); 从is中读取一行赋给s,返回is
s.size();返回s中字符的个数
s.empty();s为空返回true,否则返回false
<span style="font-size:18px;">int main() { string s; cin>>s; cout<<s<<endl; return 0; } string对象会自动忽略开头的空白(空格,换行,制表符)并从第一个真正的字符开始,直到遇到下一处空白为止。 字符串初始化字符数组:char str[]={"i am happy"};//也可以省略大括号 char str[]="i am happy"; (请注意:字符数组的长度不是10,而是11,因为系统在 字符串后自动加了'\0') 上面初始化与此等价: char str[]={i',' ','a','m','m','h','a','p','p','y','\0'}; 而不是: char str[]={i',' ','a','m','m','h','a','p','p','y'}; C语言中对字符串常量是按字符数组处理的(而C++不是)。 在C语言中,有两种方法表示和存在字符串。 (1)用字符数组:char str[]="i am happy"; (2)用字符指针:char *str="i am happy";(注意:有人认为str是一个字符串变量, 而实际在C语言里,将字符串按字符数组处理,在内存中开辟一个字符数组来存放, 程序中讲数组首地址赋给str) 对于字符指针变量和字符数组表示字符串的讨论: (1)字符数组由若干元素组成,每个元素存放一个字符,而字符指针变量存放的是字符串/字符数组的首地址。 (2)赋值方式:对于字符数组,只能对各个数组元素赋值,而不能整体赋值。 比如:char str[14]; str="i love home";这样对数组进行赋值是不对的。 (但在字符数组初始化时可以,即char str[14]="i love home";) 而对于字符指针变量,采用下面方式赋值:char *a; a="i love China"; 或直接 char *a="i love China"; </span>
相关文章推荐
- 【C++】利用析构统计函数运行时间
- C++静态库与动态库
- C++sort函数的用法
- zlib在Qt C++中的应用
- 几个C++ 题目
- c++容器概述
- C++ Template 实践草稿(two)
- VS路宏 vc++于OutDir、ProjectDir、SolutionDir不同的路径
- 复杂度1 最大子列和问题 --C语言学习种种
- const的一些常用用法
- C++中string学习
- (转)C/C++ 程序设计员应聘常见 面试笔试 试题深入剖析
- 没有C语言之父,就没有乔布斯
- C++ Builder 利用Rtti访问对象中的字段值
- C# 与C++的数据转换
- C++ 实现通过类名来进行实例化(反射机制?)
- C++连续读入数据
- c++:谁调用了main/WinMain函数!
- C语言中的字符数组与字符串
- 个人记账软件(C++ & mysql)