一、string子串
c++中的字符串类型string提供了一些操作子串的方法,用于截取原字符串的一部分。其中substr方法是最常用的方法之一。
substr方法的使用格式如下:
string substr (size_t pos, size_t len) const;
其中,pos表示截取子串的起始位置,len表示要截取的子串的长度。
比如,对于字符串”hello, world!”,我们可以通过以下代码来截取子串:
#include #include using namespace std; int main() { string str = "hello, world!"; string sub = str.substr(7, 5); cout << sub << endl; // 输出 world return 0; }
二、c中string字符串
c语言中的字符串是以字符数组的形式存储的,因此在进行字符串操作时需要使用字符数组相关的函数。如果需要在c++中使用c语言中的字符串,可以通过将字符数组转化为c++中的string类型来进行操作。
以下代码示例演示了从c语言字符串到c++string的转换:
#include #include using namespace std; int main() { char c_str[] = "hello, world!"; string str(c_str); cout << str << endl; // 输出 hello, world! return 0; }
三、c字符串转string数组
在c++中,可以使用string的c_str方法将string类型转换为c语言中的字符数组。这种转换可以使得string类型的字符串在需要以字符数组作为参数的情况下也能够被调用。
以下代码示例演示了如何将string类型的字符串转换为c语言中的字符数组:
#include #include using namespace std; int main() { string str = "hello, world!"; const char *c_str = str.c_str(); cout << c_str << endl; // 输出hello, world! return 0; }
四、string字符串取子串
除了substr方法外,c++的string类型还提供了另外一种截取子串的方法,即使用[]运算符。使用[]运算符可以像操作普通数组一样来操作字符串。下面是一个简单的示例:
#include #include using namespace std; int main() { string str = "hello, world!"; string sub = str.substr(7, 5); string sub2 = str[7] + str[8] + str[9] + str[10] + str[11]; cout << sub << endl; // 输出 world cout << sub2 << endl; // 输出 world return 0; }
五、stringc里比较字符串
在c++中,string类型的字符串可以使用==和!=运算符进行比较。比较的结果为true或false。这种方式比较简单直观,并且可以避免字符串长度不一致导致的问题。
以下代码演示了如何使用==和!=运算符来比较两个string类型的字符串:
#include #include using namespace std; int main() { string str1 = "hello"; string str2 = "world"; if(str1 == str2) { cout << "字符串相等" << endl; } else { cout << "字符串不相等" << endl; } return 0; }
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/188455.html