一、字符串初始化以及输出
字符串在很多系统是最常见不过的一种数据类型,因此我们要深入的了解这个数据类型以及可能会犯下的一些错误。
首先在C++中,我们定义一个字符串并赋予初值:
string str = "hello world";
这里要注意两点
①可能在某些编辑器上要带上头文件**#include<string>**
②我们所需要使用的是双引号,而不是字符的单引号
对于输出该字符串我们使用的是:
cout << str << endl;
二、字符串内字符修改(不是自己输入那种)
如果想对他进行在内部调整字符串里面所包含的字符,大家想到的可能是两种:
对于第一种就是:
str = “ hello world are you ok? ”;
第二种就是:
for(int i = 0;i<=20;i++){
str[i] = 65+i;
}
值得注意的是,对于第一种我们当然是可以实现的,但是对于第二种,如果是现在你想要改变的字符串数据的长度超过当前已有的长度,在vs2022上是不被允许的。
当我们现有想修改的长度不大于目前的字符串长度,就可以得到正确结果
如果我们想要修改的长度超过目前的长度,就会报错。
三、字符串内字符修改(自己输入)
对于如果我们自己在键盘上输入进去,对于字符串就是另当别论的了。
cin >> str ;
看到这有好多朋友就会有疑惑了,如果对于当初我初始化str的时候,长度只有20,现在我想输入一个大于20的字符串就不行了嘛,
答案当然是可以的,就算初始的str = “hello world”,你现在在键盘上输入“abcdefghijklmn”(长度大于初始时的),也是可以的。
四、字符串所占内存空间
对于我们想知道字符串在内存中,所占的空间大小我们可以用
cout << sizeof(string) << endl;
五、获取字符串长度
对于想要直到目前字符串长度我们可以使用size.
string str = "hello world";
cout << str.size() << endl;
或者是用length
string str = "hello world";
cout << str.length() << endl;