头文件

代码语言:javascript

AI代码解释

#include<string>
2、创建字符串

代码语言:javascript

AI代码解释

#include <iostream>
#include <string>  
using namespace std;
int main()
{
    string s1;//空字符串
    string s2 = "hello world";
    cout << "s1:" << s1 << endl;  //s1:
    cout << "s2:" << s2 << endl;  //s2: hello world
    return 0;
}

这里就不用多说了,和字符串的初始化一样

在这里插入图片描述

在这里插入图片描述

string也可以下标进行访问

除了以上创建字符串的写法外,C++中还有一些其他的创建字符串方式。如: 当然C++中的string创建的字符串和char类型的数组所表示的字符串还有一个区别,string类型的字符串对象可以直接赋值,比如:

方式1:其他字符串创建写法

代码语言:javascript

AI代码解释

string s("hello world"); //等同于string s1 = "hello world";
string s1 = s; //用一个现成的字符串s,初始化另外一个字符串s1

方式2:string对象直接赋值示例

代码语言:javascript

AI代码解释

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string s1("hello world");
    string s2("hehe");
    s2 = s1;
    cout << s2 << endl;
    return 0;
}
3、string字符串的输入
(1)正常输入(cin)

和scanf功能一样,string可以用cin输入,但是只能输入不带空格的字符串

代码语言:javascript

AI代码解释

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string s;
    //输入
    cin >> s;
    //输出
    cout << s << endl;
    return 0;
}
(2)getline(带空格输入)
  1. getline是C++标准库中的一个函数,用于从输入流中读取一行文本,并将其存储为字符串。
  2. getline函数有两种不同的形式,分别对应着字符串的结束方式。

代码语言:javascript

AI代码解释

istream& getline (istream& is, string& str);
istream& getline (istream& is, string& str, char delim);

✅提示:

  • istream是输入流类型,cin是istream类型的标准输入流对象。
  • ostream是输出流类型,cout是ostream类型的标准输出流对象。
  • getline函数是从输入流中读取一行文本信息,所以如果是在标准输入流(键盘)中读取数据,就可以传cin给第一个参数。
第一种(默认以‘\n’为结束标志)

第一种 getline 函数以换行符(‘\n’)作为字符串的结束标志,它的一般格式是:

代码语言:javascript

AI代码解释

getline(cin, string str)
//cin -- 表示从输入流中读取信息
//str 是存放读取到的信息的字符串

这种形式的 getline 函数从输入流(例如cin)中读取文本,直到遇到换行符(‘\n’)为止,然后将读取到的文本(不包括换行符)存储到指定的string类型的变量str中。 实例:

代码语言:javascript

AI代码解释

#include<iostream>
#include <string>
using namespace std;

int main ()
{
    string name;
    getline (cin, name);
    cout << name << endl;
    return 0;
}

效果:

在这里插入图片描述

在这里插入图片描述

第二种(自定义结束标志)

第二种 getline 函数允许用户自定义结束标志,它的一般格式是:

代码语言:javascript

AI代码解释

getline(cin, string str, char delim)
//cin -- 表示从输入流中读取信息
//str 是存放读取到的信息的字符串
//delim 是自定义的结束标志

这种形式的 getline 函数从输入流中读取文本,直到遇到用户指定的结束标志字符(delim)为止,然后将读取到的文本(不包括结束标志字符)存储到指定的string类型的变量str中。 实例:

代码语言:javascript

AI代码解释

#include<iostream>
#include <string>
using namespace std;

int main ()
{
    string name;
    getline (cin, name, 'q');
    cout << name << endl;
    return 0;
}

效果

在这里插入图片描述

在这里插入图片描述

4、size()——字符串长度

string中提供了size()函数用于获取字符串长度。 在C++中关于字符串的操作函数都是包含在string中的,所以需要调用这些函数时,通常用.点运算符。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐