string,和数组长度的获得
获取string字符串的长度
在 std::string
类中,length()
和 size()
是两个等价的成员函数,都用于返回字符串的长度。它们的实现是完全相同的,没有区别。
这种设计主要是为了提供更多的选择,使程序员可以根据个人喜好来选择使用哪个函数。在实际编程中,可以根据需要随意选择 length()
或者 size()
函数来获取字符串的长度,它们的效果是一样的,没有差别。
获取普通数字数组的长度
获取字符数组的长度
但是说实话:我们一般不会用sizeof(array)/sizeof(array[0])来获得数组长度的,因为一般都是输入的时候就提前定下来要输入多少数字/字符。
字符数组和字符串的比较
字符数组
字符串
字符串中比较大小可以直接使用<,>,==进行比较,因为c++中添加地string字符串是一个类,该类对运算符>,<等这些进行了重载,能直接比较两个字符串的大小,同时注意字符串的大小比较是从最左边开始的字符的ASC码值进行比较的,字符串长的不一定大,如abcdf<nj
c++中的各种输入方式
对于数字数组来说
一般就只用cin与cout。cin.get,cin.getline,getline都不能用在数字数组中的读取中,比如:cin.get()
函数是用于读取单个字符的,它不能直接将字符存储到整数数组中。
对于字符数组来说
cin
cin在读取字符串的时候遇到空格也会停止读取,但是对于字符数组中char a[100];cout<<a;这样子可以直接将字符数组中的元素全部输出。
cin.get()
cin.get()
函数通常用于从输入流中读取单个字符。注意,cin.get()
函数只会读取一个字符,不会自动忽略空格或换行符。
cin.getline()(不能用于string读取)
这对于字符数组来说是比较安全的串读入
char str[100];
cin.getline(str, 100);
cin.getline()遇到空格并不会自动停止,直到遇到换行符或指定的最大字符数。
对于string字符串
除了使用cin外,忽略空格的读取就是getline()
getline()
getline()读取的时候也可以读取到空格,直到出现换行符