C++ 字符串string与字符数组char[ ]的异同
来源:互联网 发布:斗鱼软妹小九九淘宝店 编辑:程序博客网 时间:2024/05/20 12:47
1 字符串string与字符数组char[ ]的异同
1.1 了解字符char与字符串的区别
- a char类型不是C++的基本数据类型,实质上是8位的整数类型,在计算机保存的是它的AS II码,而不是字符本身,使用时
系统再将其转换过来;
- b 掌握基本的一些转义符;
- c 字符串是字符组成的串(非集合,可重复)。
- d 字符用单引号标注,字符串用双引号标注
- e 字符是一个元素,且只能存放单个字符,而字符串可以存放多个,并以'\0'结束('\0',空,串的结束符,一个转义符);
1.2 字符串string与字符数组char[ ]的区别
- 都是字符的集合,但是字符数组不需要以'\0'结束;
- string的使用需要头文件string,即#include<string>
- 在头文件string.h 中,有关于string对象的一些操作(对象的一些操作方式),比字符数组操作更为方便
- string的size操作结果的变量是string::size_type类型(非int 类型,是int类型的能够存储的长度的两倍)
- 从字符串string对象中获取字符的操作与char[ ]的操作一样
代码示例
#include<iostream>#include<string>using namespace std;//using std::string;int main() {char char1='a';cout<<char1<<" size "<<sizeof( char1)<<endl;string s1; //定义string s2("Hello world!");string s3 = "We are happy!\0"; //不会显示\0 //string s4 = (4,'c');string s5= "We are happy!";cout<<"The size of s1 is "<<s1.size()<<endl;cout<<s2<<'\n'<<s3<<endl;cout<<s3<<' '<<s3.size()<<'\n'<<s5<<' '<<s5.size()<<endl;///char[] char_str1; //有误 char char_str2[11]; //定义中必须要指明存储大小 for ( int i = 0; i <= 10; i++ ) {char_str2[i]=s2[i];}//通过循环给字符数组初始化 cout<<"The size of "<<char_str2 <<" is " << sizeof(char_str2)<<endl;//有误 char char_str3[] = "hello world";char char_str4[] = "I am so full!\0";string s6(char_str3); //通过字符数组给字符串赋值 //s6=s6(char_str3); //行不通 cout<<s6<<" is "<<s6.size()<<endl;//char_str4 = s3; //将字符串赋值给字符数组 cout<<char_str4<<" is "<<sizeof(char_str4)<<endl; //通过输入流给字符串赋值,遇到空格结束 cin>>s1;cout<<s1<<endl;return 0; }运行结果:
2 字符指针可以多次赋值
char * char_str1[ ];char_str=" we are so happy and so disappionted!";cout<<char_str<<endl;char_str=char_str2;cout<<char_str<<endl;
0 0
- C++ 字符串string与字符数组char[ ]的异同
- C#---字符串string与字符数组char,字符串中大小写转换
- 字符数组与字符串异同
- 字符数组和字符串,char 和string定义的字符串的区别与遍历
- 字符数组和字符串,char 和string定义的字符串的区别与遍历
- 字符数组和字符串,char 和string定义的字符串的区别与遍历
- Java中char数组(字符数组)与字符串String类型的转换方法
- Java中char数组(字符数组)与字符串String类型的转换方法
- String字符串与字符(char类型)数组互相转换
- JAVA字符数组 char[] 到字符串 String
- C#char字符数组与字符串相互转换
- 字符、字符数组、char、string的区别
- c语言==字符数组与字符串,char的取值范围(1)
- 面试题--字符串指针与字符串数组的区别char* st="abc;与char* str[]="abc";的异同
- 字符数组和指向字符串的异同
- Java中char数组与字符串String类型的转换
- c: string 字符指针与字符数组的区分
- C语言:将输入的字符串(char* cp)存入字符指针数组(char * spa[])
- android获取应用的MD5,SHA1值
- XAMPP环境下用phpStorm+XDebug进行断点调试的配置
- Intellij出现错误Exception in thread "RMI TCP Connection(idle)" java.lang.OutOfMemoryError: PermGen space
- 用c语言写动态库
- Eclipse ADT 进行android应用签名打包详解
- C++ 字符串string与字符数组char[ ]的异同
- 分词算法
- byte与int
- python os模块
- Socket开发探秘--基于Json格式的数据协议收发
- 根据文件路径获取剩余磁盘空间
- Lucene4.10使用教程(六):Lucene的过滤器
- spring的InitializingBean的 afterPropertiesSet 方法 和 init-method配置的 区别联系
- Day12 多线程学习笔记