C、C++字符串的详细介绍及使用
一、C和C++存放字符串的区别
在C语言中,是定义一个字符串数组,将字符串存放到字符串数组中;
而在C++中,是定义一个字符串类对象,将字符串存放到其中;
二、C语言的字符串的详细介绍使用
1、用来存放字符型数据的数组其元素是一个个字符。
字符数组的定义形式为:
char 字符数组名[常量表达式],.....;
例如:char s[20];
char a[4]={'j','a','v','a'};
2、字符串的概念
C 中对字符串的规定都是以‘\0’结尾的字符数组,在定义C风格的字符串中,编译器会默认在字符串后面加上'\0'。在程序运行时需要判断有'\0',如果有,则判定为该字符串结束了。在字符数组中,数组长度必定大于等于字符串实际长度+1(‘\0’)。
字符串是由""括起来的,单个 " 表示单个字符常量
所以:
char C=‘a’; //正确
char C="a"; //错误
sizeof("")=0;
3、用于处理和运算的字符串数组的函数和头文件;
C语言的字符串处理,其头文件为cstring(string.h)
加上该头文件,可以对,字符串进行strcpy(),strcpy()等字符运算的的比较。
三、C++字符串的讲解和使用
1、字符串对象
使用string类,来定义定义string对象,在将字符串赋值到该对象中。需要注意的是C++字符串对象不需要NULL(’\0’)j结尾。
2、字符串对象的定义和使用
sting str1;
srt1="jave";
3、字符串对象的头文件和运行
为了满足和字符串数组相似的字符串运行功能,C++的字符串对象在string头文件中也加入了一些类似的函数,如str1.copy(),和 str1.find等运算,同时也加入了(+),(关系运算符)等的连接,和关系运算,总在,字符串对象更为强大。
四、字符串的输入和输出
、C风格的字符串的输入和输出
1)使用标准输入输出流函数对字符串进行输入和输出:
char str[80] //80的长度必须大于所输入的字符串长度加一
cin>>str; //输入字符串
cout<<str; //输出字符串
这种读入的方式,只能读取单个字符串,如果字符串中含有空格键,则后面的字符串,将不能读取。所以一般不使用这种方法读取字符串。gets_s(str,sizeof(str))函数是C风格的字符串输入方式。str为字符数组名,后面一个参数为数组字节长度。
cin.getline(str,str.length(str))函数是C++ 风格的字符串输入方式。str为数组名,后面为数组长度。
cin.get(str,str.length(stra))函数和getline参数相同,但是get并不在读取换行符,而是将其留在输入队列中。
通常使用puts(str)进行输出,当遇到‘\0’输出后会在后面在输入一个换行符。